实验目标:找到向日葵的吐出阳光的速度,向日葵生产阳光是一个周期性的,所以其内部是有一个计时器控制的,我们只要找到这个计时器并改写它的定时时间即可完成无限吐阳光的作用
向日葵的遍历技巧:
首先种下一个向日葵 -> 然后CE马上搜索->未知初始化
回到游戏->然后在切回CE->搜索减少的数值->一步一步排查
最终找到一个地址->锁定1即可无限出阳光
1.首先打开CE附加植物大战僵尸,然后种下一颗向日葵,选择未知的初始值然后选择首次扫描。
2.回到游戏马上切回CE,直接搜索减少的数值,然后再次切回游戏依次循环。
3.经过我的不懈的努力,我终于找到了,如下图所示。
4.将第2个数值锁定为1,回到游戏,向日葵或无限的吐出阳光,说明我们找对了。
5.我们选择下方的地址【13DED068】然后按下【F6】查找是谁改写了这个地址,然后回到游戏,观察CE的代码框,会出现以下代码,没错这就是计时器,我们记录下【0045FA48】这个内存地址,然后关闭CE。
6.OD直接附加游戏进程,并运行起来,按下【Ctrl + G】输入【00401000】来到程序领空。
7.然后再次按下,【Ctrl + G】并输入【0045FA48】然后会跟踪到如下位置,我们直接下一个【F2】断点。
8.代码如下,我已经做了分析,备注了一些关键点,如下可以看到我们的破解思路有多重,第一种是将计时器的数值该大一点这样吐出阳光的速度就会变快。
而另一种方法则是将下面的关键跳转直接Nop掉,同样也可以完成无限阳光功能。此时我们就用第二种方法试试吧。
9.多种几颗向日葵,然后将JG改为NOP,然后回到游戏会发现,所有的向日葵都会没命的吐出阳光