一.自动收集阳光
大致思路,猜测有一个点击阳光的函数,当我们点击阳光后,会调用它,完成增加阳光的一系列操作。但是只有当我们点击的是阳光时,才会调用它,所以点击阳光应该是有一个判断的,判断点击的是否是阳光,找到这个判断应该是可以实现自动收集阳光的。 分析
我们可以通过找到点击阳光的函数,再去寻找判断来达到我们的目的。点击阳光后会增加阳光数量,那么我们就可以先去寻找存储阳光的地址。使用CE,寻找存储阳光的地址,附加游戏后,每当游戏中的阳光数值变化后,在CE中使用精确数值搜索,搜索当前阳光值,确定一个地址后,将其中的值修改为999,发现游戏中阳光数量也随之变化,那么这里就是存储阳光的地址 。
右键点击这个地址,选择find out what writes to this address,回到游戏中,等待一个掉落的阳光,点击增加阳光后,这个窗口出现了变化,记住这个地址0x43C0AF,使用OD搜索此地址进行分析(此时需要关闭CE,才能使用OD附加程序)。
使用OD进入此地址进行分析,在这里下断,每次增加阳光时都会断下来,阳光数值的变化是阳光本身的值加上ecx的值,看当前ecx的值是0x19(25)这正是一个大阳光的值。
执行返回到上一层,根据里面的代码分析,我们刚才出来的这个函数,就是当我们点击阳光后,增加阳光数量的函数。点击阳光的判断并不在这里,这个函数只是当阳光到达左上角时增加阳光数量而已。