游戏安全实验室 首页 游戏漏洞 查看内容

【游戏漏洞】《QQ仙侠传》技能遍历

发布于:2018-12-5 17:37   |    100634次阅读 作者: 外部投稿    |   原作者: 通化程序员

技能名字是技能遍历的一个很好的突破口,但是有些游戏的代码逻辑较为复杂,我们通过名字很难直接分析到技能遍历,所以我们尝试通过技能函数的参数来进行分析。

首先来到释放技能函数处,下F2断点,得到参数中的技能ID(如图)

 

在这里我们得到了+108偏移,释放不同的技能,我们发现这个地址是不变的,也就说明这里只是一个临时写入技能ID的地方。

在这个偏移处下写入断点,再次释放技能,并点击F9运行,当技能ID被写入的时候分析技能ID的写入来源(如图)

由于ecx是堆栈地址,所以我们通过堆栈来找到技能ID的最初来源(如图)

我们在004BD543 处的call    004BB850的参数中找到了ID的最初来源,向上分析ebx,在004A5000  处发现参数edx的值等于ID,这样我们就可以得到+4偏移(如图)

004A4FF8处的call    004A4350内部进行分析,可以得到一个结构体数组的代码。而经过技能后可以得出结构体的大小为0x18,继续分析edx的来源,通过下断后寄存器的值可以发现这个值其实是一个常量(如图)

而查找常量后也的确可以得到一个常量(如图)

对数组上面的代码进行分析,可以得出技能序号esi小于0x80,而由于技能ID除了最后2位,其他位是不会发生变化的,所以我们可以直接将这个ID写成一个常量表来进行使用,并不需要找到技能名字的来源。

 

 

 

 

 来源:通化程序员—投稿

GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。

*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

分享到:
踩1 赞0

收藏

上一篇:【游戏漏洞】《天堂2》角色对象分析

下一篇:【游戏漏洞】FPS游戏飞天辅助及原理

最新评论
B Color Image Link Quote Code Smilies

发表评论

top 问题反馈

返回顶部