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)

 

转载于:https://www.cnblogs.com/gamaboy/p/7368123.html

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值