avatar

目录
植物大战僵尸(3)


在前面讲过。直接修改阳光数量。但是总会用完,又要重新修改,的却很麻烦,而且游戏还会降下阳光,直接点击不适合懒人操作。所以现在就来找一下直接自动收集阳光CALL。

查找自动收集CALL

首先对前面找到的阳光静态基址 快捷键F6找出是什么改写了该指针指向的地址

wrp

等阳光降下,并且点击,就会出现地址

Code
1
00430A11 - 01 88 60550000        - add [eax+00005560],ecx

wrp

点显示反汇编,进入内存浏览器。F5下断

wrp

一路F8跟下去。

wrp

跳出那个CALL以后,到这里,点运行停下,因为这里有很多cmp比较,应该是有自动收集call。

往上拉,在这里下个断跟一下,Step Into 快捷键 F8

Code
1
00431555 - 74 34                 - je 0043158B

wrp

发现直接跳到下来这里

wrp

Code
1
2
3
4
5
6
7
8
0043158B - 80 7B 50 00           - cmp byte ptr [ebx+50],00 { 0 }
0043158F - 75 08 - jne 00431599
00431591 - 53 - push ebx
00431592 - E8 29F5FFFF - call 00430AC0
00431597 - EB 07 - jmp 004315A0


0043158F - 75 08 - jne 00431599 修改为 jmp 00431599

下方有个jne,试着修改成jmp,发现自动收集功能已经实现。

但是比较懵逼,后来在百度搜索,发现有前辈同样是这样处理,详细可以看.

植物大战僵尸(2):实现自动收集阳光

后来发现

Code
1
2
3
4
5
6
7
0043158B - 80 7B 50 00           - cmp byte ptr [ebx+50],00 { 0 }
0043158F - 75 08 - jne 00431599
00431591 - 53 - push ebx
00431592 - E8 29F5FFFF - call 00430AC0
00431597 - EB 07 - jmp 004315A0

0043158B - 80 7B 50 00 - cmp byte ptr [ebx+50],00 { 0 } 将00 修改为 01 。也可以实现自动收集

并且这里就是静态地址,可以直接使用

向日葵无冷却生产阳光

先种植一颗向日葵

然后搜索未知数值

进入游戏。隔一秒通过热键搜索减少的数值,等到向日葵生产出阳光,尽量保留几时个搜索结果,然后在搜索一次增加的数值。

向日葵冷却时间通过是四位数。

wrp

设置热键

wrp

wrp

找到以后,通过前面两章说的方法,查找向日葵的静态地址。将其值锁定,置为 0/1 就可以一直生产阳光了。

后续

发现些好玩的。通过F6查找写入地址

wrp

点进游戏。等生产出阳光。就会出现地址

Code
1
0045F8A9 - 83 46 58 FF           - add dword ptr [esi+58],-01 { 255 }

wrp

wrp

往下拉,到了这里

wrp

Code
1
2
3
4
5
0045FAC6 - 75 06                 - jne 0045FACE
0045FAC8 - 6A 02 - push 02 { 2 }
0045FACA - 6A 04 - push 04 { 4 }
0045FACC - EB 44 - jmp 0045FB12
0045FACE - 83 F8 29 - cmp eax,29 { 41 }

把 push 02 和 push 04 修改成其他数值时候。可以生产出其他物品。

例如

Code
1
2
3
4
5
0045FAC6 - 75 06                 - jne 0045FACE
0045FAC8 - 6A 02 - push 01 { 2 }
0045FACA - 6A 04 - push 03 { 4 }
0045FACC - EB 44 - jmp 0045FB12
0045FACE - 83 F8 29 - cmp eax,29 { 41 }

就会生产出钻石

wrp

当修改成

Code
1
2
3
4
5
0045FAC6 - 75 06                 - jne 0045FACE
0045FAC8 - 6A 02 - push 03 { 2 }
0045FACA - 6A 04 - push 01 { 4 }
0045FACC - EB 44 - jmp 0045FB12
0045FACE - 83 F8 29 - cmp eax,29 { 41 }

wrp

将会生产出银币。

更详细的分析可以看这里

植物大战僵尸生产阳光call

结尾

之后有时间就用Python 来写一个修改器 ,应该和C差不多。

借用一句看到很不错的话:

技术不分对错.人性才分善恶.

学习逆向的人必须身心放正.

身心放正之人手握屠龙刀,也是保家卫民.

文章作者: KeyboArd
文章链接: https://www.wrpzkb.cn/ReadZhiwu3/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KeyboArd's Blog
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论