致力于分享游戏安全技术,提供专业的游戏安全资讯
很多游戏的可接任务是可以通过任务名字作为突破口去分析的,不过在访问名字的时候也有很多的技巧。往往在可接任务初始化以后就不会对任务的名字进行再次访问了,所以我们可以尝试通过任务的数量作为突破口进行分析。
因为游戏的任务栏中并没有任何信息,所以搜索固定的数值是没有作用的。首先在CE中搜索一个数量的范围,比如1-100,并通过增加和减少进行过滤,最终得到了数量不多的结果。在这些结果中进行观察,最终得到了一个绿色的地址(如图)
在OD的数据窗口中观察附近的内存地址,发现在其减4的位置的地址很可能是一个遍历的入口。于是我们对其内部结构进行观察,并下访问断点进行分析(如图)(如图)
游戏在任务信息变化后断下(如图)
对周围代码进行分析,发现这里有一个+0链表,对链表分析后得出链表的起始和结束地址与我们访问的地址是同一个,而链表中的节点数量与我们得到的可接任务数量也是一致的,于是我们继续向上分析ebp的来源,返回后得到基地址(如图)
接下来我们只需要将可接任务的ID和任务名字库关联即可得到完整的数据。
来源:通化程序员-公众号投稿
*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)
近期精品文章:
【游戏漏洞】Dnf游戏漏洞挖掘第4期 全屏秒杀+远程CALL
∨
投稿文章:[email protected]
原文始发于微信公众号(游戏安全实验室):【游戏漏洞】某3D游戏可接任务分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论