技能打怪技能封包call分析

角色的当前技能列表往往都是从系统的技能库中进行筛选而组成的,而这个筛选的过程大多非常的复杂,经过的代码和临时结构体的传递也非常的多,所以在分析技能对象来源的时候常常要将OD和CE配合来使用。下面我们来分析下《天堂2》的技能列表。

首先通过CE对技能的名字进行扫描,可以得到较多的UNICODE型结果,通过二分法对技能的名字进行修改,发现其中的一个地址可以改变技能的本地显示(这里要注意的是,只有重新开启技能栏以后显示的技能名字才是我们需要分析的)(如图)
在这里插入图片描述
在OD中对这个地址下访问断点,再次开启技能栏,游戏断下(如图)
在这里插入图片描述
执行到返回后继续分析第一个参数的来源,发现来源于0AF8C8C2处函数的返回值(如图)
在这里插入图片描述
经过对函数内部的分析,只得到了一个+0的偏移,我们需要继续向上分析ecx的来源。然而当我们向上分析了一段时间后发现,这里的来源始终是在一些临时地址中互相传递,为了节省时间,我们直接通过CE对ecx进行扫描,并得到了较少的结果(如图)
在这里插入图片描述
在第一个结果上下访问断点,打开技能栏游戏断下(如图)
在这里插入图片描述
执行到返回继续分析eax的来源,得到来源于0AEFC541处函数的返回值(如图)
在这里插入图片描述
在函数内部可以得到一个结构体数组,而数组的大小为0x10(如图)
在这里插入图片描述
返回后分析esi的来源,得到+80偏移,继续向上分析,可以在执行到返回后得到+10偏移(如图)
在这里插入图片描述
再次返回并分析第一个参数,可以在函数call 0A671770中得到基地址(如图)
在这里插入图片描述
接下来整理技能公式如下

[[0B7B6E74]+10+80]+n*10 技能ID

[[[[0B7B6E74]+10+80]+n*10+C]+0] 技能名字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

douluo998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值