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