memory - 在游戏中寻找特定的内存位置?

标签 memory assembly cheat-engine

我正在使用 Cheat Engine 来查找游戏内存中某些属性的存储位置。例如 - 我的球员的健康状况。最终我想编写一个程序,它知道要查找内存中的位置,以便我的程序可以根据当前的游戏状态做出决策。我可以并且已经发现某些东西存储在内存中的位置,问题是每次打开游戏时内存位置都会发生变化。我需要做什么才能让我的程序能够解决不断变化的内存位置?

最佳答案

问题在于,在您的 Cheat Engine 表中,您对这些变量使用硬编码地址。这些变量要么是动态分配的,要么是相对于模块基地址静态分配的。要解决此问题,您可以使用指向变量的指针,其中指针是静态定位的或在运行时使用模块基地址的相对偏移量进行计算。您可以使用“查找访问内容”来查找指针或使用指针扫描器来执行此操作。您可以使用 ToolHelp32Snapshot 来获取模块的动态地址。 Windows API 函数。您还可以使用签名扫描来扫描表示在运行时访问变量的指令的字节数组。然后从指令操作数中获取地址。

关于memory - 在游戏中寻找特定的内存位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39184931/

相关文章:

assembly - 为什么我在 proteus : "Invalid opcode 0xFFFF at PC=0x002A" 中收到此错误

assembly - 给定其在运行进程中的地址,在可执行文件中查找指令?

python - ReadWriteMemory 将内存读取为 int 而不是 float

c - 结构中的字节顺序

c - 动态分配的数组的大小是否存储在 RAM 中的某个位置?

python - 如何在类中使用变量来提高内存效率?

c++ - 添加 20 个字节偏移到指针地址

android - Android 上的 OutOfMemory 异常

assembly - 在 MIPS 中,什么是 HI 和 LO

java - 翻译简单的C代码