如何从进程的内存中读取DOUBLE

2024-05-23 13:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我正在为游戏Bloons TD6制作一个人工智能机器人,但为了让它工作,我需要让它物有所值,这样它才能知道什么时候可以买东西。为此,我决定找到游戏内资金的指针,但我不知道如何用python读取内存,我设法用cpp实现了这一点,但为了让机器人工作,我需要用python实现它。我已经设法得到PID,现在我只需要从内存中读取一个地址

同样重要的是,我想读的值是双倍的

PROCESS_ALL_ACCESS = 0x1F0FFF
HWND = win32ui.FindWindow(None,"BloonsTD6").GetSafeHwnd()
PID = win32process.GetWindowThreadProcessId(HWND)[1]

Tags: 内存游戏地址机器人allprocesspidcpp
1条回答
网友
1楼 · 发布于 2024-05-23 13:30:21

你可以试试Pymem;在这里,您可以找到一个快速启动,它显示了如何从进程内存读取/写入整数值:https://pymem.readthedocs.io/en/latest/quickstart.html

你会发现这个简单的例子(实际上有一个输入错误,它是pm.process\u id,而不是process\u id):

from pymem import Pymem

pm = Pymem('notepad.exe')
print('Process id: %s' % pm.process_id)
address = pm.allocate(10)
print('Allocated address: %s' % address)
pm.write_int(address, 1337)
value = pm.read_int(address)
print('Allocated value: %s' % value)
pm.free(address)

同样,可以使用读双精度()写双精度()函数来读/写双精度。 您可以在这里找到一些文档:https://pymem.readthedocs.io/en/documentation/api.html

还可以查看以下内容:reading data from process' memory with Python

相关问题 更多 >