Ada banyak program yang mengubah memori di luar sana saat ini ( Cheat Engine & co). Apakah ada cara yang efisien untuk menjaga variabel konstan sebenarnya konstan?
Saya punya dua ide:
- Buat utas terpisah untuk memutakhirkan variabel konstan ke nilai konstan, misalnya 200 setiap menit. Masalah: Seseorang juga dapat mengubah nilai kedua.
- Simpan nilai di server. Masalah: Saya ingin menjaga lalu lintas jaringan serendah mungkin.
Saya membutuhkan mekanisme ini untuk konstanta dan variabel yang hanya diizinkan mengandung rentang nilai tertentu.
Apakah ada cara yang lebih baik untuk melakukan ini?
anti-cheat
Michael
sumber
sumber
Jawaban:
Jika gim Anda singleplayer: itu tidak mungkin, tetapi Anda seharusnya tidak peduli .
Jika game Anda multipemain: maka Anda harus menyimpan semua status penting Anda di server, yang jauh lebih sulit untuk diretas daripada mesin lokal.
sumber
x
kerusakany
".Itu tidak dapat dilakukan , https://security.stackexchange.com/a/4639 adalah tentang DRM, tetapi hal yang sama berlaku untuk apa pun yang tidak diinginkan pengguna di komputernya termasuk mekanisme Anti-Cheat. (Yang memiliki kecenderungan lebih sulit untuk dilakukan daripada DRM.)
Tetapi mengapa Anda mau, mengapa Anda? Ini adalah komputer pelanggan Anda, bukan komputer Anda, pelanggan melakukannya dengan komputernya apa pun yang ia sukai. Anda tidak punya hak tentang itu. Program Anda dihapus jika pelanggan tidak menyukainya.
Untuk game multi-pemain, ini bukan tentang mendesain biner yang berjalan, tetapi mendesain komunikasinya. Membiarkan para pengguna mengirim "Saya menang dengan 20.000 poin" tidak berfungsi, demikian juga "Saya memiliki 2000 Emas" . Anda harus mensimulasikan permainan sendiri dan hanya membiarkan para pemain mengirim apa yang mereka lakukan seperti "Saya memerintahkan prajurit untuk pindah ke titik X / Y" atau "Saya membeli Item nomor 43" , bukan apa akibatnya tindakan adalah. Server memutuskan apa hasilnya, dan siapa yang menang pada akhirnya.
Jika ini adalah permainan pemain tunggal dengan skor tinggi online, sebuah opsi adalah meminta pemain mengirim Anda replay, mensimulasikannya dan memutuskan hasilnya.
sumber
Yang pertama tidak efektif dan tidak akan menghentikan orang yang bertekad untuk menyerang game Anda - dan itu juga rawan kesalahan. Namun, Anda bisa membuatnya lebih keras , bukan bukti penuh , jika Anda mau. Beberapa strategi umum tersedia di seluruh web tetapi seperti yang telah disebutkan orang lain - Anda harus bertanya pada diri sendiri apakah itu layak.
Demi argumen, berikut adalah beberapa cara untuk mencegah peretasan di lingkungan pemain tunggal:
Alternatifnya, tentu saja, adalah hanya menyimpan segala sesuatu di server dan membuat server game yang merupakan master. Tidak hanya semahal ini, membutuhkan perawatan, dan meningkatkan waktu pengembangan ... penggemar tidak begitu terkesan dengan penerapan game populer seperti Diablo III . Atau disini. Saya harus mencatat untuk flash RPG online seperti Adventure Quest model ini sebenarnya telah bekerja cukup baik untuk mereka.
Saya tidak dapat memberikan banyak panduan tentang bagaimana menerapkan jenis pendekatan ini karena sangat luas, luas dan membutuhkan banyak perencanaan. Dasar untuk mengetahui adalah bahwa server memutuskan segalanya dan klien tidak lebih dari input dan tampilan konsol.
sumber
Banyak orang menggunakan program ini untuk mencari skor yang disimpan dalam variabel misalnya
untuk melakukan ini mereka perlu mengetahui skor, ususaly dari skor yang ditampilkan dalam game.
Saya berpikir, apakah ini akan membantu mereka ...
maka ketika Anda perlu menampilkan skor lakukan ...
ini akan membuat orang yang curang mencari apa yang mereka pikirkan sebagai skor (skor yang ditampilkan) sehingga mereka hanya akan menemukan nilai yang ditampilkan.
Skor sebenarnya adalah Skor * randomVal disimpan di tempat lain. Mereka tidak dapat mengubah skor dengan mengubah nilai yang ditampilkan.
akankah ini membantu?
ps aku bukan ahli jadi tenang saja aku lol.
sumber
Sehubungan dengan permainan pemain tunggal , Anda tidak dapat mencegah kecurangan, dan Anda seharusnya tidak melakukannya .
Mengapa saya tidak bisa mencegah kecurangan dalam permainan saya sendiri?
Seperti jawaban lain telah tunjukkan, bahkan upaya terbaik pun dapat secara potensial dilakukan oleh seorang peretas tunggal, dan diberikan ke seluruh pangkalan pemain Anda. Anda masih dapat melakukan upaya melawan ini, tetapi lihat jawaban lain untuk saran caranya . Jawaban ini berarti untuk menyelamatkan Anda dari masalah, jika game Anda hanya bertujuan untuk menyediakan gameplay pemain tunggal.
Mengapa saya harus membiarkan pemain curang dalam permainan pemain tunggal?
Mengutip Sam ,
Ini sepenuhnya melenceng . Game adalah bentuk hiburan . Secara umum, basis pemain Anda memainkan permainan Anda untuk bersenang - senang . Jika seorang pemain menggunakan cheat di dalam gim Anda, ada alasan mereka menggunakan cheat tersebut. Aman untuk mengasumsikan bahwa kami tidak dapat menjamin definisi kesenangan masing-masing pemain; jika mereka menggunakan cheat , mungkin itulah cara mereka membuat game Anda lebih menyenangkan, bagi mereka.
Bagaimana cara curang membuat permainan lebih menyenangkan?
Meskipun setiap individu unik, ada beberapa kondisi di mana curang bisa membuat permainan lebih menghibur, jauh di atas kepala saya:
Mengapa ini hanya berlaku untuk game pemain tunggal?
Penting untuk ditekankan bahwa ini hanya bekerja di gim pemain tunggal ; jika pemain memberi tahu Anda bahwa mereka ingin menggunakan cheat untuk bersenang-senang dalam permainan mereka, tidak ada salahnya dilakukan. Segera setelah ada banyak pemain dalam permainan, eksploitasi pemain pertama itu bisa menjadi kerugian yang tidak adil bagi pemain lain. Ini adalah satu-satunya situasi nyata di mana Anda tidak boleh membiarkan kecurangan.
sumber
Apa yang dilakukan alat peretasan memori?
Ada dua cara untuk mengoperasikan alat hack.
Apa yang bisa kamu lakukan?
Anda dapat menggunakan variabel yang dialokasikan secara dinamis untuk menyimpan variabel pemain sehingga alamat terus berubah saat startup. Tidak akan ada alamat tetap yang bisa dicantumkan oleh situs web cheat.
Enkripsikan variabel pemain: menskalakan nilai, menambahkan konstanta, dll. Ini membawa masalah baru: seorang hacker hardcore dapat membongkar program Anda dan menemukan angka yang Anda gunakan untuk mengenkripsi variabel pemain Anda. Untuk ini, gunakan angka acak. Anda juga dapat meningkatkan nilai variabel pemain Anda dan kemudian menambahkan angka acak sehingga angka yang ditambahkan tidak secara signifikan mengubah nilainya (menambahkan 10 atau 20 ke nilai peningkatan 2000 tidak membuat banyak perbedaan).
Tentu saja, beberapa peretas serius masih dapat menemukan cara untuk mengatasi rintangan ini tetapi itu tidak akan mudah.
Walaupun kode di atas menyelesaikan beberapa masalah serius, kode ini masih dapat di crack. Satu-satunya informasi yang dibutuhkan oleh peretas adalah: variabel pemain diakses melalui sebuah pointer (ia juga bisa mengetahuinya dengan membongkar gim Anda tetapi itu akan mengganggu dan sulit). Setelah hacker memiliki alamat untuk variabel pemain Anda bersama dengan variabel acak rahasia lainnya, itu akan menjadi tugas yang mudah baginya untuk mengembangkan cheat.
Menurut pendapat saya, tanpa disasembling, Anda tidak bisa benar-benar menulis alat hack untuk sistem seperti itu. Hasilnya tidak dapat diprediksi karena Anda akan menambahkan nomor acak ke variabel pemain setiap kali itu diubah. Rentang penyimpanan variabel pemain tidak sama pada setiap startup.
Apa lagi yang bisa kamu lakukan?
Terus ubah alamat variabel pemain sesekali. Apakah itu menghambat keterbacaan kode? Yah, memang sampai batas tertentu tetapi Anda dapat abstrak seluruh proses dalam satu kelas yang memiliki komentar yang dijelaskan dengan baik. Antarmuka yang disediakan oleh kelas akan memiliki fungsi Set / Get yang sederhana. Programmer frontend tidak perlu khawatir tentang kerumitan yang mendasarinya.
sumber
Ekonomi:
Jika Anda ingin mengeraskan gim Anda dari curang, cara terbaik adalah membeli solusi perangkat lunak yang cocok untuk Anda. Ada beberapa penyedia, dan Anda dapat menemukan beberapa di antaranya dengan googling untuk "anti cheat break my game" .
Para profesional sebenarnya jauh lebih baik dalam mencegah cheat daripada Anda, dan jauh lebih baik dalam tidak melanggar permainan Anda daripada Anda (dan masih tidak berhasil 100%, pada salah satu dari ini). Jadi, jika Anda merasa ada gunanya memasukkan solusi seperti itu ke dalam gim Anda, beli saja. Melakukan pekerjaan Anda sendiri akan jauh lebih mahal.
Pertanyaan terkait adalah "adakah nilai dalam menggunakan perangkat lunak anti cheat?". Jawabannya adalah: Tidak, kecuali jika bagian yang layak dari permainan Anda bergantung pada mode kompetitif online.
sumber
Satu-satunya cara untuk melindungi game Anda dari modding dan editing memori adalah membuatnya ONLINE dan memproses nilai-nilai vital di sisi server .
Mungkin Anda bisa mengenkripsi nilai-nilai itu sehingga memori rookie tidak akan mendapatkannya, tetapi semua komunitas, seperti Cheat Engine , GameGuarian untuk Android, ArtMoney, Game Hacker dll. Memiliki orang yang akan dapat meretas apa pun yang Anda proses klien- sisi dan tunjukkan yang lain bagaimana melakukannya atau mempublikasikan pelatih.
Ini adalah upaya yang sia-sia untuk mencoba dan mencegah curang cleint-side menurut saya. Juga tidak terlalu adil, karena ini adalah perangkat mereka dan jika mereka ingin mengedit hal-hal yang terjadi pada perangkat mereka, mengapa Anda menghalangi mereka? Pelanggan adalah raja afterall.
sumber
Maksud saya tidak terlalu sulit. Anda dapat menjaga 99% dari penyunting edit memori ( Game Guardian , Cheat Engine, dll. Teluk dengan nilai penggandaan sederhana. Bahkan mengalikan dengan 10 dalam memori akan menjaga sebagian besar ruang teluk tersebut.
Saya ingat banyak game flash di masa lalu akan bertambah banyak dengan 8 atau 6. Atau jika Anda benar-benar serius tentang hal itu, kode beberapa cek atau enkripsi nilai-nilai dalam memori.
sumber
Anda tidak bisa - saya ulangi Anda tidak bisa. Tidak ada jawaban untuk pertanyaan ini yang tidak dapat diurungkan oleh peretas yang baik.
Tapi - jadi apa? Jika seseorang ingin menipu permainan Anda (dengan asumsi tidak ada kerugian atau prestasi yang terlibat), siapa yang peduli? Mereka hanya menipu diri mereka sendiri.
Luangkan lebih banyak waktu untuk membuat gim yang hebat dan lebih sedikit waktu untuk mencegah orang bodoh merusak kesenangan mereka sendiri - sederhana.
sumber
Enkripsi keluar dari itu! Menyimpan angka-angka penting yang dipecah di beberapa lokasi bersama dengan nilai-nilai lain sehingga mereka akan terus berubah! Gunakan angka dummy yang jika diubah memberitahu mereka itu curang.
Semuanya bisa retak, tetapi sebagian besar tidak meluangkan waktu untuk melakukannya.
sumber
Cara saya menghadapinya dalam game online adalah ini.
Saya tidak akan membantu para peretas yang begitu menanggungnya. Saya tidak akan menyebutkan program apa pun yang saya gunakan untuk melakukan ini. Anda harus memikirkannya. Satu-satunya cara untuk benar-benar menghentikan mereka adalah mengetahui satu hal. Mereka tidak ingin program hack mereka terdeteksi.
Sejauh ini, semua pengguna peretas / pelatih yang saya kalahkan. Pengembang retasan akan meletakkan detektor di atasnya untuk melihat apakah ada sesuatu yang menonton. Jika ada sesuatu, maka program peretas / pelatih akan ditutup secara otomatis pada akhirnya atau hanya akan berfungsi setengahnya.
Misalnya di kotoran 3, pengguna pelatih dapat membuat pemintalan mobil Anda secara otomatis. Tetapi jika Anda memasang detektor di ujung Anda, detektor curang itu sendiri akan mendeteksi dan akan menutup bagian dari cheat. Tidak semuanya.
Satu-satunya bagian dari program pelatih yang saya lihat terpengaruh dari campur tangan saya adalah rem super (pengereman sempurna) dan pemintalan (kontrol kehilangan mobil tanpa alasan). Saya memiliki sebagian besar game balap seperti yang Anda lihat. Mereka semua berasal dari codemaster dan sayangnya game-game itu sering disalahgunakan oleh curang.
Saya percaya bahwa saya hanya dapat menghentikan mereka karena cara kami terhubung satu sama lain saat bermain. Itu mungkin alasan yang sama bahwa mereka dapat menyebabkan pemintalan untuk pemain normal yang tidak memiliki petunjuk tentang keamanan.
Saran terbesar saya adalah untuk mendapatkan antivirus keamanan internet yang sangat bagus (Norton, Mcafee, Avast, dan semua AV buruk lainnya tidak akan membantu Anda). Bersedia untuk menghabiskan $ 50 hingga $ 90 pada av yang sangat baik yang belum saya daftarkan dan kemudian belajar bagaimana bereksperimen dengannya untuk mempengaruhi bermain online.
Dibutuhkan banyak kesabaran dan banyak kelinci percobaan. Saya sudah banyak sukses dengan ini tetapi juga banyak pengalaman bertahun-tahun dalam berurusan dengan pengguna pelatih. Saya tidak tahu kode apa pun. Itu tidak ada hubungannya dengan itu. Bagian kode, dikunci dan Anda tidak dapat melakukan apa-apa. Anda dapat berpikir bahwa Anda bisa tetapi itu tidak mungkin untuk benar-benar menghentikan apa yang mereka lakukan pada akhirnya.
Anda masih dapat melarang mereka dengan hal-hal seperti VAC karena Vac mendeteksi tanda tangan dan perilaku tertentu serta modifikasi file yang sudah diketahui. Hanya melarang akun yang terkait dengan cheat.
Mereka tidak benar-benar menghentikan cheat. Mereka tidak bisa diganggu dengan itu. Mereka hanya mencekal akun Anda. Hal lain yang ingin saya sebutkan berkaitan dengan Wolfenstein ET. Game yang sangat lama. Tetapi bagi saya itu memiliki ukuran keamanan terbaik dan paling keras dari semua.
Saya tidak pernah melihat bagaimana mereka melakukannya. Saya memang memberi mereka ide tentang apa yang sebenarnya akan menghentikan curang dan menyarankan kepada salah satu devolution jaymod untuk melarang dengan cara membimbing. Apa yang memiliki panduan yang mudah diakses saat bermain game? Kartu grafis. Alasan mereka menerapkannya adalah karena orang hanya akan mengubah alamat ip dan Anda tidak memerlukan akun untuk permainan sehingga Anda bisa mengubah nama Anda, alamat mac Anda yang juga akan mengubah alamat ip Anda.
Tetapi ketika mereka melakukan larangan kartu grafis. Jika Anda ingin bermain lagi, Anda harus RMA kartu Anda atau membeli yang baru. Itu diluar topik. Ini seharusnya tentang deteksi dan saya pergi bersinggungan. Sayangnya saya tidak bermain game sekarang. Tapi laki-laki aku mencintai semua babi gunea saya. Terutama yang dari mobil proyek. Satu-satunya game balap yang bukan codemasters. Namun masih dipengaruhi oleh omong kosong yang sama.
sumber