2

我已经通过教程学习 C++ Game Hacking 一两个星期了,我几乎掌握了一切。然而,有一件事情让我一遍又一遍地困扰着我。

要自定义一个值(fe 玩家的健康),我们必须使用作弊引擎(或类似的)搜索内存地址并将该值设置为其他值。每次我们启动程序时,这些内存地址显然是不同的,因为它不会总是使用 RAM 中的同一个位置。

为了解决这个问题,人们会尝试找到一个指向包含该值的内存地址的静态指针;指针是静态的,它们如何从 RAM 中保留静态地址?

4

1 回答 1

3

实际上,不是指向游戏变量的指针是静态的,而是变量地址的偏移量,参考另一个数据的地址。

如果您要“破解”的游戏始终将数据存储在相同的、可靠的结构中,那么就有可能找到这些偏移量。当您知道偏移量时,游戏开始时您唯一需要做的就是找到偏移量所引用的地址,而不是执行多次扫描 - 每个变量一次。

编辑:

此外,程序很可能在每次运行时都被赋予相同的虚拟地址空间,因此在实践中,每次运行程序时看起来具有静态偏移量的变量都具有相同的地址(进一步阅读这里那里) .

于 2013-07-24T20:29:59.743 回答