Oyununda herhangi bir can değeri var diyelim, onu hemen kısa bir kodla koruyabilirsin. Dediğim gibi bu başlangıç seviye bir korumadır bilgili kişiler kırabilir, ama üzerinde gelişmeler yapabilirsin.
Şu şekilde oluyor:
İlk Öncelikle Can Değerinin Base Addresini Koduna Tanımlamalısın :
Sonrasında Can Değerinin Offsetini Tanımlamalısın :
En Son Olarakta Pointerı Tanımlamalısın :
Python:
class PointerExample(ctypes.Structure):
_fields_ = [("pointeraddress", ctypes.c_uint32)]
pointeraddress = 0x400
pointer_instance = PointerExample(address=address)
pointer_address = pointer_instance.address
Bunların sırası yok istediğin sırayla tanımlayabilirsin sorun olmayacaktır, sonrasında şu işlemi yapacaksın bunların hepsini aynı değişkene atayacaksın.
Python:
target_address = base_address + offset + pointer_instance.address
Sonrasında hedef addresteki değeri okutuyoruz
Python:
process_handle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, process_id)
buffer = ctypes.create_string_buffer(4)
ctypes.windll.kernel32.ReadProcessMemory(process_handle, target_address, buffer, ctypes.sizeof(buffer), None)
value_at_target = ctypes.cast(buffer, ctypes.POINTER(ctypes.c_uint32)).contents.value
En sonrasında şunu yapıyoruz, eğer değişkenin içindeki pointera baseaddrese ve offsete bağlı değer 100'den büyükse oyunu kapat.
Python:
if value_at_target > 100:
Bu şekildede anti-cheat sistemi yapmış oluyorsunuz, ve can değerini arttırmaya çalışan hilecilere karşı küçük bir önlem alıyorsunuz. Ben bu işlerde python önermem C++ öğrenmeniz sizin için daha yararlı olacaktır. Makineye en yakın diller C++ Ve Assembly'dir.