最近在学逆向工程,学校老师让我们从植物大战僵尸来入门逆向。
这里说一下如何通过CE修改器来找到阳光的基址。
接下来会有一系列的植物大战僵尸的一些CE修改的博客。
首先第一篇就写如何找到阳光的基址。
这里说明一下版本:
CE:CE7.4
植物大战僵尸版本:植物大战僵尸95版
废话不多说了,直接开始教程
第一步是CE使用,首先点击左上角的电脑标志选择植物大战僵尸的程序。
这里在精准数值这里连续搜索两次阳光的数值。就找到了阳光的临时地址。
第一次搜索是新的扫描,第二次是再次扫描。
右键找出是什么访问了这个地址。
这里补充一下改写地址和访问地址的区别
找出是什么改写:指找出哪条代码执行后,对指定地址进行了写的操作。
找出是什么访问:指找出哪条代码执行后,对指定地址进行了读和写的操作
这里分析一下汇编语言。
add在汇编语言中是加法的作用,是讲eax寄存器中的值和edx寄存器偏移5560之后的值相加。
mov是赋值的操作,eax是一个寄存器,然后后面的00005560是偏移量,
esi也是一个寄存器,最后的指令含义就是将esi偏移5560之后值赋值给eax。
然后双击打开mov指令,然后就会出现一个可能出现的地址,这里是CE分析出来的地址。
将这个地址复制然后放到扫描栏中去扫描,这里需要勾选上十六进制。
在找第二次的偏移的时候需要注意一个点就是,要找到一般在这么多的数据中是与众不同的。就如上面选中的框。
双击上面选中的几个数据,然后依次查看谁访问了他们。
最后找到像这种一下被访问的就是咱们要找的。
然后双击mov eax [esi+00000768]
还是像上面的方法一样去搜索。
这里找到了绿色基址了。
将上面的绿色基址依次去双击,添加到下面。
然后点击右侧的手动添加地址。
然后去点击指针,点击一下添加偏移。
然后输入5560和768和绿色的地址,然后点击添加。就找到了阳光的基址。