飞郁乄九州寒 发表于 2021-5-29 18:02:31

【幻想神域】怪物遍历分析

大部分的游戏的角色对象都是存放在怪物和NPC遍历中的, 只不过这个对象会有一些特殊性。我们来分析一下《幻想神域》的怪物遍历。首先,选择怪物血量为突破口,随便选一个怪对其进行攻击,我们发现这个怪物的血量并没有数值显示,所以我们根据攻击数值,进行一个范围的搜索 (如图) 最终得到两个结果(如图)

分别改动两个结果,发现第二个可以改变怪物血条的长度,所以我们通过OD对其进行分析。首先下访问断点,游戏断下(如图)
得到+8和+C偏移,继续向上分析,来到头部,执行到返回继续分析。得到了+C偏移(如图)

继续分析,发现这里是一个循环,esi在下面会被重复赋值,并向会跳转,所以这里是一个链表结构(如图)
跳出循环继续分析,得到+0和+8偏移,执行到返回后得到410偏移,并最终得到基地址(如图)

这样我们就得到了公式如下+410+8+4        链表对象数量[+410+8]                链表根节点[[[[+410+8]]+c]+c]+8        当前血量

tt1985 发表于 2021-6-10 09:59:48

:dizzy::dizzy::dizzy::dizzy:好看
页: [1]
查看完整版本: 【幻想神域】怪物遍历分析