我正在尝试创建一个可以从另一个进程读取一些信息的程序。我使用Cheat Engine来查找我正在寻找的内存地址和c ++中的ReadProcessMemory来获取值。
到目前为止一切顺利。这是我的问题:我正在尝试从中获取信息的过程可以同时打开多个窗口。我将以记事本++为例。使用notepad ++,我可以打开尽可能多的.txt文件。这些文件的每个内容都有自己的内存地址。所以我认为我需要的是一个内存地址,每个指针指向每个文件内容为值
示例:
Address A = Value 1
Address B = Value 2
Address C = Value 3
等...打开所有文件
我需要找到一个值为的静态地址:(地址A,地址B,地址C等)。
我甚至不知道如何寻找...内存地址是否可以包含一系列值......?
编辑:真的,你认为作弊引擎的唯一目的是作弊?我不是想欺骗或破解任何东西。我不知道试图了解内存地址是错误的...为了您的信息,我正在尝试为我喜欢的程序创建自己的界面。一个接口,这不是作弊。答案 0 :(得分:1)
在动态分配窗口的程序中,通常也会动态分配与这些窗口相关的变量。这意味着每次程序运行时地址可能不同(取决于当时程序堆中的其他内容)。为了可靠地获取这些位置,您需要从顶级静态指针(例如窗口列表的地址)开始,然后动态地跟随动态分配的指针链,直到您要查找的地址。 CheatEngine是否可以做到这一点,或者它是否可以安全地完成,我不知道。
答案 1 :(得分:0)
内存只保存数字。将进程内存视为一个巨大的数字列表可能会有所帮助,每个数字都取一个范围内的值(0-255)。这些数字的解释方式完全取决于过程(即示例中的记事本)。这包括它们是否是某种“价值”或者是指向某种价值的指针等等。