python實現對單機游戲內存修改


以植物大戰僵屍為例:

用到的工具:spy2.7 用於讀取窗口的文件句柄。Cheat Engine6.5這個工具用於讀取內存地址

 1 import win32process 
 2 import win32con
 3 import win32api
 4 import ctypes 
 5 import win32gui 
 6 import time
 7 
 8 PROCESS_ALL_ACCESS=(0x000F0000|0x00100000|0xFFF) 
 9 window=win32gui.FindWindow("MainWindow","植物大戰僵屍") 
10 hid,pid=win32process.GetWindowThreadProcessId(window) #根據窗體抓取進程編號
11 phand=win32api.OpenProcess(PROCESS_ALL_ACCESS,False,pid)#用最高權限打開進程編號
12 date=ctypes.c_long()#C語言的整數類型,讀取數據
13 mydll=ctypes.windll.LoadLibrary("C:\\Windows\\System32\\kernel32.dll")#加載內核模塊
14 
15 while  True:
16     mydll.ReadProcessMemory(int(phand), 244866760, ctypes.byref(date), 4, None)  # 讀取內存,244866760是內存地址
17     print(date.value)
18     if  date.value <300:
19         newdata = ctypes.c_long(500)   
20         mydll.WriteProcessMemory(int(phand), 244866760, ctypes.byref(newdata), 4, None)
21     time.sleep(3)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM