C++之PVZCheat制作(一):利用CE和OD实现秒杀僵尸

本文介绍了一种在游戏中实现僵尸秒杀的方法。通过使用CE(Cheat Engine)和OD(OllyDbg),找到并修改了控制僵尸血量的代码。首先,在僵尸受到攻击时扫描减少的数值;然后,通过反复测试定位到关键地址,并采用两种方法修改代码实现秒杀效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要思路是僵尸受到攻击则血量减少,用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来扫描游戏。

下篇文章将介绍如何秒杀带有防具的僵尸。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值