植物大战僵尸自动拾取阳光

这篇博客我们主要记录一下植物大战僵尸的自动拾取阳光的功能,主要用到od,我们要简单的掌握寻找call的操作。以及简单的对汇编进行分析。
我们先用ce找到跟阳光有关的地址。
载入程序,两次搜索数值找到跟阳光有关的地址。点击“是什么改写了这个地址”,找到植物大战僵尸自动拾取阳光_第1张图片
记录下0043A7F5这个地址,这个地址就是我们载入od要观察的地址。
载入od
点击ctrl+G弹出寻址对话框,找到0043A7F5地址植物大战僵尸自动拾取阳光_第2张图片
观察汇编,发现这是一个增加语句,我们可以推测这是阳光的增加语句,可以验证一下,在这里下断点,发现在点击阳光的时候程序在这里断下来。然后观察eax的值,向下跟。植物大战僵尸自动拾取阳光_第3张图片
我们可以看见,这个时候eax是19也就是十进制的25。就是每个阳光的数值。点击调试->“执行到返回”。向下我们看到一个call植物大战僵尸自动拾取阳光_第4张图片
我们推测这个call就是增加函数。我们可以把这个语句nop掉,然后发现点击阳光数值是不增加的。我们确定了增加函数。撤销修改。
下面判断call之前jnz语句。是一个if逻辑,在这下断点。多次放行之后发现点击的阳光向上运动。植物大战僵尸自动拾取阳光_第5张图片
注意左上角的阳光的变化植物大战僵尸自动拾取阳光_第6张图片
那么段语句的意思就是,当我们点击阳光之后,阳光会往上走,只有到达指定位置之后,才会执行call增加阳光值。
我们确定了增加阳光值的call,下面我们去找寻找点击的call。继续执行到返回,向下跟植物大战僵尸自动拾取阳光_第7张图片
在增加阳光的call下断点,当程序运行的时候jnz不满足,当点击阳光的时候满足jnz执行增加阳光的功能,我们可以修改jnz为jmp实现功能 植物大战僵尸自动拾取阳光_第8张图片
植物大战僵尸自动拾取阳光_第9张图片植物大战僵尸自动拾取阳光_第10张图片
参考大佬的博客,侵删。https://blog.csdn.net/qq_33958297/article/details/82352129

你可能感兴趣的:(植物大战僵尸自动拾取阳光)