【发布时间】:2013-07-24 20:14:54
【问题描述】:
我已经通过教程学习 C++ Game Hacking 一两个星期了,我几乎完全掌握了。 然而,总有一些事情一直困扰着我。
要自定义一个值(例如玩家的健康),我们必须使用作弊引擎(或类似的)搜索内存地址并将该值设置为其他值。 每次我们启动程序时,这些内存地址显然是不同的,因为它不会总是使用 RAM 中的同一个位置。
为了解决这个问题,人们会尝试找到一个静态指针指向包含该值的内存地址;指针是静态的,它们如何从 RAM 中保留静态地址?
【问题讨论】:
-
使用相同的关键字。如果您声明
static Player player;,那么&player可能始终是同一个虚拟地址。 -
关键点是虚拟地址(与物理地址相反,用户程序几乎从不关心)。
-
@H2CO3: 或者一个全局变量,它也有静态存储持续时间。
-
操作系统会为正在执行的进程虚拟定位可用的RAM,因此每次可执行文件运行时,具体的物理地址可能会发生变化。