应用程序如何具有静态内存地址?

时间:2013-04-23 15:58:21

标签: memory-management reverse-engineering memory-editing

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

1 个答案:

答案 0 :(得分:3)

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