使用python从Cheat Engine获取地址处的数据
Posted
技术标签:
【中文标题】使用python从Cheat Engine获取地址处的数据【英文标题】:Get data at address from Cheat Engine with python 【发布时间】:2020-08-16 22:27:10 【问题描述】:我已经使用作弊引擎来获取我的玩家在游戏中的 X 坐标的地址和真实地址;盗贼之海。不幸的是,当我尝试通过在线描述的方法(即单击“找出访问此地址的方式”)找到指针时,游戏崩溃了。由于 Address 和 RealAddress 似乎没有改变(分别为 SoTGame.exe+699FE50 和 7FF6EA32FE50),有没有办法访问这个地址的值?
我想使用 ReadWriteMemory 之类的东西(来自 Git 自述文件的示例代码,经过我的改编):
from ReadWriteMemory import ReadWriteMemory
rwm = ReadWriteMemory()
process = rwm.get_process_by_name('SoTGame.exe')
process.open()
#health_pointer= process.get_pointer(0x004e4dbc, offsets=[0xf4])
x_pointer = process.get_pointer(0x699FE50)
#health = process.read(health_pointer)
x = process.read(x_pointer)
print('x': x)
当作弊引擎显示一个非常不同的数字时,当前打印返回 0。
【问题讨论】:
【参考方案1】:您想访问带有模块条目偏移量的地址。
调用get_process_by_name
将返回指向内存中进程基址的指针,但在这里您要将此指针偏移到进程的模块条目。
0x699FE50
是您与模块条目 'SoTGame.exe'
的偏移量,因此查找并添加您的模块条目 module_base
(通常为 0x00400000)将导致内存中的地址正确。
在您的情况下,get_pointer(module_base + 0x699FE50)
应该可以解决问题。
【讨论】:
你从哪里得到module_base
?以上是关于使用python从Cheat Engine获取地址处的数据的主要内容,如果未能解决你的问题,请参考以下文章
Windows 逆向使用 Cheat Engine 工具进行指针扫描挖掘关键数据内存真实地址 ( 指针扫描 )