Seçkin Üye
Bunun üzerine yorum yapılamaz bile, adam her şeyi açıklamış eline koluna sağlıkOyununda 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 :
Python:base_address = 0xDBEFFD
Sonrasında Can Değerinin Offsetini Tanımlamalısın :
Python:offset = 0x204
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.