为了深入了解软件工作的原理,就尝试了一下修改植物大战僵尸,本篇文章图片居多,还请各位感兴趣的伙伴耐心阅读, w(゚Д゚)w
阳光修改
![「攻防对抗」植物大战僵尸CE修改并且找基址插图 「攻防对抗」植物大战僵尸CE修改并且找基址插图](https://static.esw.eswlnk.com/2022/08/20220820075348605.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图1 「攻防对抗」植物大战僵尸CE修改并且找基址插图1](https://static.esw.eswlnk.com/2022/08/20220820075353735.png)
我们把50放入搜索
![「攻防对抗」植物大战僵尸CE修改并且找基址插图2 「攻防对抗」植物大战僵尸CE修改并且找基址插图2](https://static.esw.eswlnk.com/2022/08/20220820075348133.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图3 「攻防对抗」植物大战僵尸CE修改并且找基址插图3](https://static.esw.eswlnk.com/2022/08/20220820075347581.png)
在游戏中改变阳光值后继续搜索,一直重复 “改变阳光值,Next Scan 搜索”
![「攻防对抗」植物大战僵尸CE修改并且找基址插图4 「攻防对抗」植物大战僵尸CE修改并且找基址插图4](https://static.esw.eswlnk.com/2022/08/20220820075347170.png)
尝试修改
![「攻防对抗」植物大战僵尸CE修改并且找基址插图5 「攻防对抗」植物大战僵尸CE修改并且找基址插图5](https://static.esw.eswlnk.com/2022/08/20220820075353486.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图6 「攻防对抗」植物大战僵尸CE修改并且找基址插图6](https://static.esw.eswlnk.com/2022/08/20220820075348957.png)
实现功能,现在我们寻找基地址,否则我们每次重启游戏就需要重新搜索。
选中按 F5
![「攻防对抗」植物大战僵尸CE修改并且找基址插图7 「攻防对抗」植物大战僵尸CE修改并且找基址插图7](https://static.esw.eswlnk.com/2022/08/20220820075429672.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图8 「攻防对抗」植物大战僵尸CE修改并且找基址插图8](https://static.esw.eswlnk.com/2022/08/20220820075348992.png)
5560为第一个偏移量,15698668为下一步查询地址
![「攻防对抗」植物大战僵尸CE修改并且找基址插图9 「攻防对抗」植物大战僵尸CE修改并且找基址插图9](https://static.esw.eswlnk.com/2022/08/20220820075347255.png)
重新搜索该值
![「攻防对抗」植物大战僵尸CE修改并且找基址插图10 「攻防对抗」植物大战僵尸CE修改并且找基址插图10](https://static.esw.eswlnk.com/2022/08/20220820075349686.png)
重复上面的 “选中 F5”,找到下一个地址
![「攻防对抗」植物大战僵尸CE修改并且找基址插图11 「攻防对抗」植物大战僵尸CE修改并且找基址插图11](https://static.esw.eswlnk.com/2022/08/20220820075348298.png)
EAX=00452650
EBX=0019FD00
ECX=0274A6B0
EDX=00667BA0
ESI=15698668
EDI=0274A6B0
EBP=00000001
ESP=0019FC60
EIP=00452679
Probable base pointer =0274A6B0
0045266A - cmp byte ptr [edi+000004CF],00
00452671 - je 0045269B
00452673 - mov esi,[edi+00000768]
00452679 - test esi,esi
0045267B - je 0045269B
重新搜索
![「攻防对抗」植物大战僵尸CE修改并且找基址插图12 「攻防对抗」植物大战僵尸CE修改并且找基址插图12](https://static.esw.eswlnk.com/2022/08/20220820075347699.png)
绿色的便是基地址
![「攻防对抗」植物大战僵尸CE修改并且找基址插图13 「攻防对抗」植物大战僵尸CE修改并且找基址插图13](https://static.esw.eswlnk.com/2022/08/20220820075348481.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图14 「攻防对抗」植物大战僵尸CE修改并且找基址插图14](https://static.esw.eswlnk.com/2022/08/20220820075347559.png)
popcapgame1.exe+2A9EC0
我们就可以反向推得阳光的基地址
[[[[popcapgame1.exe+2A9EC0]+768]+5560]]
![「攻防对抗」植物大战僵尸CE修改并且找基址插图15 「攻防对抗」植物大战僵尸CE修改并且找基址插图15](https://static.esw.eswlnk.com/2022/08/20220820075347758.png)
你现在可以重启游戏验证,重启后依然可以修改
CD冷却修改
![「攻防对抗」植物大战僵尸CE修改并且找基址插图16 「攻防对抗」植物大战僵尸CE修改并且找基址插图16](https://static.esw.eswlnk.com/2022/08/20220820075355770.png)
上面的植物槽,1为可用,0为不可用,此时1号位是可用状态
![「攻防对抗」植物大战僵尸CE修改并且找基址插图17 「攻防对抗」植物大战僵尸CE修改并且找基址插图17](https://static.esw.eswlnk.com/2022/08/20220820075347760.png)
按上面的步骤一直循环搜索,改变状态搜索。
![「攻防对抗」植物大战僵尸CE修改并且找基址插图18 「攻防对抗」植物大战僵尸CE修改并且找基址插图18](https://static.esw.eswlnk.com/2022/08/20220820075355680.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图19 「攻防对抗」植物大战僵尸CE修改并且找基址插图19](https://static.esw.eswlnk.com/2022/08/20220820075347627.png)
EAX=00000000
EBX=0000007D
ECX=0D9696B8
EDX=0000007D
ESI=0000002F
EDI=156984E0
EBP=156984E0
ESP=0019FB70
EIP=0040CDEF
Probable base pointer =0D9696B8
0040CDE4 - lea eax,[eax+eax*4]
0040CDE7 - shl eax,04
0040CDEA - mov byte ptr [eax+ecx+70],01
0040CDEF - call 00412330
0040CDF4 - pop edi
![「攻防对抗」植物大战僵尸CE修改并且找基址插图20 「攻防对抗」植物大战僵尸CE修改并且找基址插图20](https://static.esw.eswlnk.com/2022/08/20220820075347762.png)
同样选中 F5
![「攻防对抗」植物大战僵尸CE修改并且找基址插图21 「攻防对抗」植物大战僵尸CE修改并且找基址插图21](https://static.esw.eswlnk.com/2022/08/20220820075347104.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图22 「攻防对抗」植物大战僵尸CE修改并且找基址插图22](https://static.esw.eswlnk.com/2022/08/20220820075348785.png)
EAX=0D9696B8
EBX=00000000
ECX=0019F988
EDX=0274A6B0
ESI=00199944
EDI=0019FA98
EBP=156984E0
ESP=00199810
EIP=0041A1F6
Probable base pointer =156984E0
0041A1E7 - cmp dword ptr [edx+000007FC],04
0041A1EE - je 0041A248
0041A1F0 - mov eax,[ebp+00000144]
0041A1F6 - cmp [eax+18],bl
0041A1F9 - je 0041A232
![「攻防对抗」植物大战僵尸CE修改并且找基址插图23 「攻防对抗」植物大战僵尸CE修改并且找基址插图23](https://static.esw.eswlnk.com/2022/08/20220820075347495.png)
继续搜索 数据不变,找最前面的 F5
![「攻防对抗」植物大战僵尸CE修改并且找基址插图24 「攻防对抗」植物大战僵尸CE修改并且找基址插图24](https://static.esw.eswlnk.com/2022/08/20220820075348403.png)
EAX=00000001
EBX=00000001
ECX=0274A6B0
EDX=00030621
ESI=156984E0
EDI=0274A6B0
EBP=00000001
ESP=0019FC60
EIP=004526E6
Probable base pointer =0274A6B0
004526DB - mov ebx,eax
004526DD - lea ecx,[ecx+00]
004526E0 - mov esi,[edi+00000768]
004526E6 - add [edi+00000838],ebp
004526EC - test esi,esi
找到基址
![「攻防对抗」植物大战僵尸CE修改并且找基址插图25 「攻防对抗」植物大战僵尸CE修改并且找基址插图25](https://static.esw.eswlnk.com/2022/08/20220820075347630.png)
![「攻防对抗」植物大战僵尸CE修改并且找基址插图26 「攻防对抗」植物大战僵尸CE修改并且找基址插图26](https://static.esw.eswlnk.com/2022/08/20220820075348541.png)
popcapgame1.exe+2A9EC0
[[[[popcapgame1.exe+2A9EC0]+768]+144]+70]
![「攻防对抗」植物大战僵尸CE修改并且找基址插图27 「攻防对抗」植物大战僵尸CE修改并且找基址插图27](https://static.esw.eswlnk.com/2022/08/20220820075347215.png)
通过实验我发现冷却槽相差50,所以只要在70那+50就可以
![「攻防对抗」植物大战僵尸CE修改并且找基址插图28 「攻防对抗」植物大战僵尸CE修改并且找基址插图28](https://static.esw.eswlnk.com/2022/08/20220820075353451.png)
后面打算用Hook来注入修改。
ESWINK , 版权所有丨如未注明 , 均为原创
![Eswink原创声明 Eswink原创声明](https://static.esw.eswlnk.com/2022/08/20220811043724800.png?imageView2/0/format/webp/interlace/1/q/75%7Cwatermark/1/image/aHR0cHM6Ly9jZG4uZXN3Lmluay8yMDIxLzAxLzIwMjEwNTAzMTcwNTQ3MjMucG5nLWxpc3Q=/dissolve/8/gravity/Center/dx/0/dy/0%7Cimageslim)
📮评论