这是一篇让大家熟悉 Window s 下分析内存数据的文章并且用 VC++ 实现修改内存 VC++6.0 制作单机游戏修改器 这里介绍一个简单的单机游戏修改器制作过程,单机游戏修改器当然 比修改网络游戏要简单很多,一般只需修改内存即可,今天就拿红警 2 共和国之辉为例子做一个单机游戏修改器。首先打开游戏,然后用 内存查找器查找我们想要修改相应数据的内存地址,这里我们选 CE, CE 是个功能非常强大的内存修改器,好废话少说 我们开始新建一个 游戏,相信这个游戏大家都很熟悉了,新建游戏开始 这里可以看到游戏刚刚开始,我们就从金钱入手吧,这个在红警里是最直接的啦,好然后最 小化游戏 打开我们的 CE(注意这个时候 我们新建一个电厂然后暂停 让金钱的数值处于一 个不容易重复出现很多次的数值) 注意:VC++实现修改内存相应地址的值很简单后面我会讲解到现在我们具体看看内存地址 和基址是 如何查找和分 析的 这是我们的 CE 附加红警游戏进程 进程名为 Game.exe,然后让游戏的金币处于一个容易查找 的值状态请看下图 可以看到查出来的数值非常少了,但是还需要过滤,所以现在我们再返回游戏 再让金币的 数值变化一下暂停,返回 CE 继续查找,最终发现如下几个地址 在 CE 里绿色表示常量,而这两个常量对于修改内存的金币是行不通的,他们肯定有别的作 用但是不能达到修改金币的作用所以我们修改黑色的那个地址 0A029DDC,直接在 CE 里面 修改,返回游戏发现游戏金币的值已经被修改了,但是这里有一个问题,当我们关闭游戏之 后再重新进入就已经不是 0A029DDC 这个值了 这个时候我们就要想办法找出一个固定的 地址就是基址,怎么查找呢?CE 强大的功能可以做到这点双击这个地址 把它添加到下面的 列表 然后右击 查看所有操作这个地址的代码如下图所示: 图 Z-11 然后我们进入游戏 改变下金币的值,然后返回我们的 CE 修改器会发现 有一些代码,这个 代码就是操作这个金币值的代码 我们来分析下这段简短的代码,这是查找基址的关键步骤。 如下图所示: 每段代码后面都有个+24C 的操作,我们双击把它放大看看 看看红色的那句代码 mov 【ecx+24C】,edx,然后看看下面有 edx 的值,可以看到 edx 的值 是 2710 这里要注意 它是 16 进制的,转换为 10 进制是多少呢 经过转换 2710 的十进制是 10000,现在游戏的数据恢复到一万了正好就是金币的值,那么它把这个值...