主要思路是僵尸受到攻击则血量减少,用CE扫描减少的变量,找到控制僵尸扣血的代码,然后利用OD修改。
那么先打开游戏和CE,等待第一只僵尸出现。
由于僵尸的血量是未知量,所以扫描类型选择未知的初始值进行首次扫描。
在僵尸受到攻击时暂停游戏,来到CE扫描类型选择减少的数值点击再次扫描。可以看到出现了很多结果,再次返回游戏让僵尸受到攻击之后再用CE扫描,如此反复,便得到了控制僵尸血量的地址。
右击该地址,点击“是什么改写了改地址”。返回游戏让僵尸受到一次伤害便可以得到相应的结果。
可以看出这是个赋值语句,将ebp的值赋给[edi+000000C8],点击显示反汇编程序来到代码修改界面,有两种思路。
一种是直接将mov [edi+000000C8],edp改为mov [edi+000000C8],0,将0赋值给 [edi+000000C8]。
还有一种是将上面减法语句,意思是ebp=ebp-[esp+20],的sub edp,[esp+20]改为sub edp,edp,让edp的值为0。
修改后可以发现实现了秒杀普通僵尸的功能。
但是发现在面对有防具的僵尸,例如路障,铁桶等却并不起作用,因此还需要用到OD来扫描游戏。
下篇文章将介绍如何秒杀带有防具的僵尸。
版权归原作者 wotmchaoshuai 所有, 如有侵权,请联系我们删除。