Mampu mendekompilasi / merekayasa ulang kode klien dengan mudah sebenarnya hanya sedikit kendala. Peretas yang giat telah membengkokkan file yang dapat dieksekusi sesuai kehendak mereka (jahat dan non-) selama bertahun-tahun sebelum bahasa tingkat tinggi, sepele hingga dekompilasi seperti C # muncul. Keamanan melalui ketidakjelasan saja tidak ada keamanan sama sekali.
Setiap data pada mesin pengguna (kode atau data aset reguler) pada dasarnya sudah dikompromikan. Anda tidak dapat benar-benar melindungi diri terhadap hal itu - jika Anda tidak ingin orang mengedit data, jangan letakkan di mesin mereka, simpan di server Anda. Demikian pula jika Anda tidak ingin mereka memodifikasi kode di klien, pastikan klien tidak memiliki kendali atas apa pun yang bermanfaat.
Jika itu bukan opsi (misalnya multipemain Anda sepenuhnya peer-to-peer), Anda dapat melakukan hal-hal seperti menghitung hash dari aset yang relevan dan hanya memungkinkan orang untuk bermain dengan satu sama lain jika hash cocok. Ya, seseorang dapat dengan hati-hati menyunting hasil edit ke executable sehingga mengembalikan hash yang berbeda, tetapi semua yang seharusnya berarti bahwa pemain yang melanggar akan melakukan sinkronisasi dan terputus dari permainan secara relatif cepat karena asetnya tidak cocok dengan sisa dari yang lain. para pemain'.
Anda juga bisa menggunakan jenis tes "aturan mayoritas" yang memungkinkan Anda untuk memutuskan pemain yang simulasinya tidak sinkron dengan pemain lain, memberikan pemain "tuan rumah" (siapa pun yang memulai permainan) dengan suara imbang.