2013-04-23 25 views
1

我正在使用称为Cheat Engine的内存编辑应用程序。我将Cheat Engine附加到游戏中。在我的游戏中,我有一个称为HP的32位整数。 HP存储在内存地址A处。如果我重新启动游戏,HP将存储在新的内存地址B中。似乎使用Cheat Engine,我可以执行指针扫描并找到一个静态内存地址C,该静态内存地址始终存储惠普在该会议期间的内存地址。所以如果我解引用C,我总是得到存储HP的内存地址。总是保证C始终是相同的内存地址?如果另一个应用程序启动并占用该区域的内存呢?应用程序如何具有静态内存地址?

+0

我不记得有足够的细节发布真正的答案,但我记得有关寻址内存相对于内存中进程的位置的内容。指针不是相对于RAM中的第0个字节,而是从进程开始的地方。 – 2013-04-23 16:02:35

回答

2

我不知道你在用什么操作系统,但是大多数现代操作系统在每个进程中都使用虚拟内存。每个程序的内存地址可能相同。操作系统和计算机将虚拟地址映射到RAM中的实际地址。

+0

以防万一:我使用Windows 8 64位。 – user2312080 2013-04-23 16:02:10

+0

另外,谢谢你清理。这更有意义。不知道虚拟内存是否存在。 – user2312080 2013-04-23 16:02:47

+1

HP的地址相对于进程的虚拟内存块的开始。 – allonhadaya 2013-04-23 16:02:58

相关问题