Python读取程序内存时未按预期工作

2024-09-27 21:28:52 发布

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

我试图从内存中读取程序的一些信息。我已经找到了我需要的指针。第一个问题是作弊引擎中显示的基址不是十六进制。也许我弄错了,但它显示了“programname.exe”+04D32E1C及其偏移量。我正在使用的库https://github.com/vsantiago113/ReadWriteMemory需要一个十六进制代码,所以我认为它应该是这样工作的?:

title_pointer = process.get_pointer(0x04D21E1C, offsets=[0x10C, 0x4C, 0x30, 0x30, 0x0])

所以我刚刚用0x替换了“porgramname.exe”+。。。。我刚刚在偏移量前面加了0x。这是正确的。。。但当我读取指针并打印它时,它只返回0。它应该返回一个字符串。 这是我的完整代码:

from ReadWriteMemory import ReadWriteMemory

rwm = ReadWriteMemory()

process = rwm.get_process_by_name('Programm.exe')
process.open()

title_pointer = process.get_pointer(0x04D21E1C, offsets=[0x10C, 0x4C, 0x30, 0x30, 0x0])

title = process.read(title_pointer)
print("Current title: " + str(title))

process.close()

更新:

我已经找到它只返回0的原因。因此,我已经修复了它,并使用来自其他允许读写sting的编辑分支。现在它打印:

[ReadMemory/Error]: terminator not found.
address: 0x1e
Current title: 

所以指针肯定有问题。对吧?


Tags: 内存代码程序信息gettitlecurrentprocess

热门问题