技能冷却对于不同的游戏有不同的存放方式,而技能冷却的遍历也大多不会和技能的普通属性放在一起,在《在**明月刀》这款游戏中,技能的冷却判断格外重要,因为技能的连贯性对打怪的效率影响很大。
我们需要找一个冷却相对较长的技能用来进行扫描和过滤,一般选择几十秒即可,太长也会影响分析的速度。由于角色等级太低,所以我们暂且使用自断经脉这个技能来扫描。而技能的冷却时间可以分别从递增和递减分别搜索,并最终得到一个结果(如图)
通过OD对这个地址下访问断点,游戏断下(如图)
执行到两次返回后,可以得到数组,+2C偏移,以及基地址(如图)
这样就可以得到技能冷却的公式,接下来需要数组的成员数量和技能冷却对象内的属性进行分析。
首先观察数组成员数量,经过计算可以得出有0x848个成员(如图)
这里应该不止包括技能的冷却,可能还会有一些药品之类的冷却,我们需要通过技能ID和技能属性进行关联。
而技能冷却对象的分析结果如下
[[[40BEFA4]+