在前面讲过。直接修改阳光数量。但是总会用完,又要重新修改,的却很麻烦,而且游戏还会降下阳光,直接点击不适合懒人操作。所以现在就来找一下直接自动收集阳光CALL。
查找自动收集CALL
首先对前面找到的阳光静态基址 快捷键F6找出是什么改写了该指针指向的地址
等阳光降下,并且点击,就会出现地址
1 | 00430A11 - 01 88 60550000 - add [eax+00005560],ecx |
点显示反汇编,进入内存浏览器。F5下断
一路F8跟下去。
跳出那个CALL以后,到这里,点运行停下,因为这里有很多cmp比较,应该是有自动收集call。
往上拉,在这里下个断跟一下,Step Into 快捷键 F8
1 | 00431555 - 74 34 - je 0043158B |
发现直接跳到下来这里
1 | 0043158B - 80 7B 50 00 - cmp byte ptr [ebx+50],00 { 0 } |
下方有个jne,试着修改成jmp,发现自动收集功能已经实现。
但是比较懵逼,后来在百度搜索,发现有前辈同样是这样处理,详细可以看.
后来发现
1 | 0043158B - 80 7B 50 00 - cmp byte ptr [ebx+50],00 { 0 } |
并且这里就是静态地址,可以直接使用
向日葵无冷却生产阳光
先种植一颗向日葵
然后搜索未知数值
进入游戏。隔一秒通过热键搜索减少的数值,等到向日葵生产出阳光,尽量保留几时个搜索结果,然后在搜索一次增加的数值。
向日葵冷却时间通过是四位数。
设置热键
找到以后,通过前面两章说的方法,查找向日葵的静态地址。将其值锁定,置为 0/1 就可以一直生产阳光了。
后续
发现些好玩的。通过F6查找写入地址
点进游戏。等生产出阳光。就会出现地址
1 | 0045F8A9 - 83 46 58 FF - add dword ptr [esi+58],-01 { 255 } |
往下拉,到了这里
1 | 0045FAC6 - 75 06 - jne 0045FACE |
把 push 02 和 push 04 修改成其他数值时候。可以生产出其他物品。
例如
1 | 0045FAC6 - 75 06 - jne 0045FACE |
就会生产出钻石
当修改成
1 | 0045FAC6 - 75 06 - jne 0045FACE |
将会生产出银币。
更详细的分析可以看这里
结尾
之后有时间就用Python 来写一个修改器 ,应该和C差不多。
借用一句看到很不错的话:
技术不分对错.人性才分善恶.
学习逆向的人必须身心放正.
身心放正之人手握屠龙刀,也是保家卫民.