CE教程之自动汇编.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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。

现在我们简单的修改一下,改成 add [eax+00005560],500。

点击执行,提示注入成功。

要注意的是,在这里所有的数值都是16进制的,也就是说500h换算为十进制,实际上是1280。

现在再回游戏点一下太阳,怎么样,钱不是增加了1280。

当然,自动汇编还可以有很多好玩的用处,比如说每造一个向日葵就自动增加50个太阳币之类,只要再原来的地址下面新增一行即可。

我懒得继续写下去了,有兴趣可以自行尝试。

相关文档
最新文档