2

对于那些不知道的人,Glide 是魔兽世界的一个程序,它通过修改它的内存和基本上模拟输入来实现游戏的自动化。我看过类似程序的代码片段,它们似乎正在更改特定内存地址的数据。

显然,必须有某种方法来确定要更改哪些地址以及如何更改它们。这是怎么做到的?一般来说,如何通过改变程序在内存中的状态来改变程序的行为?

我意识到这会带来一些道德问题。使用 Glide 或类似的应用程序是一种可取缔的罪行,如果我说我不打算尝试在这个或其他 RPG 上推出我自己的版本,那我就是在撒谎。作为一名程序员,为我编写玩游戏的脚本比自己玩游戏更有趣。但从计算机科学的角度来看,我也对此感兴趣。对于大多数编程问题,即使我不确切知道如何解决它们,我也知道从哪里开始,查看哪些资源,以及通常采用什么方法。但是,在这种情况下,我完全迷失了。谁能带领我朝着正确的方向前进?

4

1 回答 1

2

我认为您需要查看一个更简单的基本内存更改示例才能理解它。

寻找一个名为Cheat Engine的程序。本质上,它允许您按值过滤内存位置。

我有一个虚构的游戏,其中分数以整数形式存储在未知的内存位置,您要做的是搜索其初始值(零),然后通过在游戏中执行某​​些操作来更改分数,并使用另一个过滤器新的价值。作弊引擎会逐渐显示越来越少的与分数匹配的 4 字节内存序列,直到您确定已找到它。那么这只是更新该内存的情况。

于 2012-03-02T08:31:19.193 回答