CE 教程之自动汇编 Cheat Engine 最强大的地方,莫过于他的内存反汇编功能了,这给我们提供了无限的可能。那么,什么是汇编呢?引用来自互动百科的内容—— 汇编程序把汇编语言翻译成机器语言的过程称为汇编。汇编语合中用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。 简单来解释就是,在不考虑组译器的情况下(实际上修改游戏的话也不需要关注这个),可以理解为,我们的CPU 在处理程序时所用的低级机器语言就是汇编。 很不幸的是,汇编不愧为低级语言,学习起来极其复杂,我周围连能够看懂汇编的人都寥寥无几,更不要说会用的人了。还好我们并不需要用汇编来写程序,只需要把最常用的几个命令了解即可。所以我的汇编水平也是非常之烂,恐怕还有无数的错误,只能勉强应付一下常用的反汇编修改了。那么我就现学现卖一次好了^_^。 这一次,我们的目标是最近很火热的小游戏《植物大战僵尸》。 进入开始游戏,准备开始修改。 召唤出我们的CE。改钱的步骤太简单了,就不再浪费时间。现在我们已经找到了太阳币的地址,点右键,选择寻找写入这个地址的地址。 回游戏,点个太阳加点钱,然后回来,果然他已经找到了操作码。双击打开额外信息对话框,这里实际上我们可以看到非常多有用的内容,比如说关于太阳币的指针是[eax+00005560]。关于指针修改的内容之前已经讲过了,所以这里不再重复。 不过要注意的话,直接搜索eax 的数值,会出来很多个地址,令人难以确定。所以我们可以稍微往上看一行,“mov eax, [esi+04]”这一段操作码,可以看到实际上esi 里的地址就是真正的eax,添加指针的时候只要输入10455E40+5560 即可。 好了,回正题。 我们右键打开详细的内存区域,来看一下之前找到的真的不掉线吗??、???????????? 那段操作码。好,现在开始准备对他进行自动汇编。点击菜单栏的工具-自动汇编(或者按快捷键Ctrl+A)。 在弹出的对话框中点击模板-脚本注入。现在就会生成图中的内容。add [eax+00005560],ecx 就是我刚才点击了一个太阳加钱时的操作码,意思是,给指针[eax+00005560]增加数值ecx。 现在我们简单的修改一下,改...