首页
社区
课程
招聘
[分享]植物大战僵尸常规攻击僵尸的一些逆向分析思路
发表于: 2025-8-20 09:52 965

[分享]植物大战僵尸常规攻击僵尸的一些逆向分析思路

2025-8-20 09:52
965

初学者练习,大佬们请一笑而过了。

继续拿植物来分析分析。



当我们使用常规攻击 ,飞行道具 或者 投掷物 攻击僵尸的时候,我们通过僵尸血量找到函数段首。




这个我相信大家都找到过。


然后我们这一篇章要分析的是函数上一层。


使用 ctrl f9 返回上一层


我们这一次要说的是这个函数的大致功能。


经过我的发现,游戏中的僵尸虽然说各有不同,但是可以分为几个种类。

简单说一下。

头盔防具类:


门防具类:我自己起的名字。



无防具僵尸类:只有肉体。




以上三类随便拿一些来举例子。


我在函数中发现了三种处理函数,分别是针对于门防具 , 头盔防具, 身体 的。

也就是说防具和身体是分开的,常规攻击的情况下。

暂时不讲复杂的,先讲豌豆这种飞行道具吧,比如说铁栅门能防豌豆,但是不能防投手,和穿透性蘑菇,暂且不研究。







两个关键跳转,分别是针对于两个函数的跳过,

第一个是 对于防具门掉血的计算 和一些后续处理,

第二个是针对于防具头盔的计算和后续处理。


当我们豌豆类型的子弹攻击僵尸的时候,会分辨出僵尸类型。


如果是攻击的是门防具僵尸,防具还在,上卖跳转永远不会执行,会处理门的掉血计算。


如果是头盔防具僵尸,头盔还在,相反跳转逻辑。


当我们防具被攻击掉落以后,两个跳转都会跳过,

从而执行最下面的call ,执行对于僵尸肉体的掉血计算还有一些后续处理。


有人说雪橇车,投石车,包括僵尸博士,这种不是都有防具的吗?

但是他们确实是一次性僵尸,只有一个肉体,雪橇车投石车被打爆,僵尸也会直接死亡。


三个call中还有专门的处理,暂且不延伸,暂时先说这么多。








[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
这么单机的游戏还有必要逆向价值嘛?
2025-9-3 02:12
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
羔羊不在沉默 这么单机的游戏还有必要逆向价值嘛?
有的,锻炼内功吧,主要你逆不出这种,也没法干其他的。
2025-10-2 07:26
1
游客
登录 | 注册 方可回帖
返回