发布于:2018-7-3 09:22 | 314242次阅读 作者: 外部投稿 | 原作者: 通化程序员
技能数据对外挂的要求并不是很重要,不过有些游戏需要主动对技能进行升级,而对技能升级自然就需要技能的相关信息,比如技能等级,技能升级所需经验等等。在《QQ西游》中,技能的升级是需要角色经验的,剩余经验不足是无法对技能进行升级的,所以我们可以以这个升级经验为突破口来对技能信息进行分析。 首先选一个级别比较高的技能,通过CE进行扫描,因为级别高的技能要求的经验比较多,扫描出来的结果比较少(如图)
通过对内存进行修改,发现其中一个内存可以改变本地显示的经验值(如图) 用OD对地址下访问断点,再次访问游戏断下(如图) 这里得到了+2C偏移,继续向上分析,得到eax来源于00563186 处的call 005C94D0,对CALL内部进行分析,得到了一个数组(如图) 这是一个结构体数组,结构大小为0xC,不过经过计算,发现数组里的成员太多,和我们的技能数量相差很大(如图) 也就是说我们找的这个数组是一个综合库,里面不止包含了当前角色的技能。而通过函数参数向上分析,发现无法得到其他遍历信息,于是我们需要通过其他办法来分析技能。 经过多次尝试,我们发现在技能经验所在对象的头部,也就是技能的ID上下访问断点,可以断到其他的遍历中(如图) 向上分析,很容易得到基地址[8E0D18],公式如下 [8E0D18]+0B518 技能数组起始地址 [8E0D18]+0B51C 技能数组结束地址 [[[8E0D18]+0B518]+n*C]+0 技能ID [[[[8E0D18]+0B518]+n*C]+4]+0 技能名字ASCII [[[[8E0D18]+0B518]+n*C]+10]+0 技能描述ASCII [[[8E0D18]+0B518]+n*C]+1C 技能等级 [[[8E0D18]+0B518]+n*C]+2C 技能升级经验
来源:通化程序员-公众号投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
最新评论
发表评论