【问题标题】:Get data at address from Cheat Engine with python使用python从Cheat Engine获取地址处的数据
【发布时间】: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。

【问题讨论】:

    标签: python cheat-engine


    【解决方案1】:

    您想访问带有模块条目偏移量的地址。

    调用get_process_by_name 将返回指向内存中进程基址的指针,但在这里您要将此指针偏移到进程的模块条目。 0x699FE50 是您与模块条目 'SoTGame.exe' 的偏移量,因此查找并添加您的模块条目 module_base(通常为 0x00400000)将导致内存中的地址正确。

    在您的情况下,get_pointer(module_base + 0x699FE50) 应该可以解决问题。

    【讨论】:

    • 你从哪里得到module_base?
    猜你喜欢
    • 1970-01-01
    • 2011-05-12
    • 2016-11-06
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多