-
-
[原创]逆向安全之技能遍历属性(二)
-
发表于: 2021-5-14 22:47 3425
-
我们接着上次的遍历继续讲,上次我们得到的技能遍历只有名字和ID 的数据,对于我们来说还不够,所以今天我们将别的数据进行追踪然后和名字的遍历进行关联
用到的工具:
CE
X32dbg
我们首先要分析下,下图中我们可以看到有技能的等级,并且这里我们点击升级可以随意进行变更的.
![图片描述]
我们先打开CE并且附加游戏
然后通过反复变更等级搜索技能的等级来得到位置
然后对技能也进行一次访问可以看到他的等级变成5了,也就是说下面的这个地址就是我们需要的.
这时我们打开X32dbg附加游戏,并且将地址拿到其中,然后在地址上下访问断,并且重新对技能进行访问.
下面这里是断下的位置.
我们可以看到来源esi+4里存放的就是技能的等级.
cmp dword ptr ds:[esi+0x4], 0x0 esi+0x4
mov esi, eax eax+0x4 到了eax我们需要CALL里去追
下面我们需要注意下,这里的数组下标是eax+eax4 就是相当于eax5,然后在替换到下面的数组中就就是4个eax5相加 就是eax14
lea eax, ds:[ecx+eax4] ecx+eax14+4
mov ecx, ebx ebx+014+0x4
add ebx, 0x710C ebx+710C+014+0x4
mov ebx, dword ptr ds:[0x00D4FF10] [D4FF10]+710C+0*14+0x4
这里我们就追到了完整的公式,然后我们将公式dd一下观察并分析发现:
[D4FF10]+710C+014+0 就是技能的ID需要我们和之前名字的遍历进行关联
[D4FF10]+710C+014+0x4 是该技能的技能等级
到这里我们技能的遍历有多了一个属性,但是显然还是不够的,我们还缺少技能的冷却,释放范围,是否为顺发还是需要引导的标志,消耗等,才能做到完全智能释放技能.
我们会在后面的帖子中在将技能属性进行完善,我们下一次再见喽.