冷却时间地址分析
1、思路
冷却时间上限值
冷却时间计数 分为 倒计时和顺序计时两种
搜索方式:
搜索未知的初始化值
变动的数值
未变动的数值
汇编语句中会出现cmp指令。
先找出计时的存储地址,在找出存储cd上限值的地址,根据cd的上限值就可以控制cd时间。
ce分析:
1、找大嘴花作为分析对象。
2、找出变化的cd计时地址1669C184。
3、分析计时地址的访问代码
004B3FE3 - 2B 45 24 - sub eax,[ebp+24]
004B2FEA - FF 47 24 - inc [edi+24]
004B2FED - 8B 47 24 - mov eax,[edi+24]
004B2FF7 - 89 5F 24 - mov [edi+24],ebx
004B4CA5 - 89 45 24 - mov [ebp+24],eax
eax里面存放的是计时值
5、点击第三条指令进入内存指令
004B2FED - 8B 47 24 - mov eax,[edi+24]
004B2FF0 - 3B 47 28 - cmp eax,[edi+28]
004B2FF3 - 7E 12 - jle 004B3007
004B2FF5 - 8B C7 - mov eax,edi
004B2FF7 - 89 5F 24 - mov [edi+24],ebx
004B2FFA - 88 5F 49 - mov [edi+49],bl
004B2FFD - E8 EE1C0000 - call 004B4CF0
004B3002 - E8 99FEFFFF - call 004B2EA0
004B3007 - 8B 47 3C - mov eax,[edi+3C]
004B300A - 3B C3 - cmp eax,ebx
004B300C - 0F8E 92000000 - jng 004B30A4
6、分析内存指令
edi+28里面存的是上限值
edi+24里面存放的是计时值 750
edi+48 byte 0
edi+49 byte 1 cd计数开始
48 word 00 01 //表示 开始cd计时
48 word 01 00 //表示 未开始cd计时
将750改小即可缩短cd时间
7、如要消除所有植物的cd则该跳转指令为nop即可。
004B2FF3 - 00 00 nop nop
本文详细介绍了如何通过反汇编技术分析《植物大战僵尸》中的冷却时间计数,从搜索冷却时间地址到理解汇编代码,找到并修改计时上限值以缩短冷却时间,甚至消除植物冷却时间的方法。
&spm=1001.2101.3001.5002&articleId=45933167&d=1&t=3&u=8a663c5fcad5426996374d9e33432f10)
1330

被折叠的 条评论
为什么被折叠?



