发布于:2018-7-12 09:44 | 100315次阅读 作者: 外部投稿 | 原作者: 通化程序员
很多游戏的可接任务是可以通过任务名字作为突破口去分析的,不过在访问名字的时候也有很多的技巧。往往在可接任务初始化以后就不会对任务的名字进行再次访问了,所以我们可以尝试通过任务的数量作为突破口进行分析。 因为游戏的任务栏中并没有任何信息,所以搜索固定的数值是没有作用的。首先在CE中搜索一个数量的范围,比如1-100,并通过增加和减少进行过滤,最终得到了数量不多的结果。在这些结果中进行观察,最终得到了一个绿色的地址(如图)
在OD的数据窗口中观察附近的内存地址,发现在其减4的位置的地址很可能是一个遍历的入口。于是我们对其内部结构进行观察,并下访问断点进行分析(如图)(如图) 游戏在任务信息变化后断下(如图) 对周围代码进行分析,发现这里有一个+0链表,对链表分析后得出链表的起始和结束地址与我们访问的地址是同一个,而链表中的节点数量与我们得到的可接任务数量也是一致的,于是我们继续向上分析ebp的来源,返回后得到基地址(如图) 接下来我们只需要将可接任务的ID和任务名字库关联即可得到完整的数据。 来源:通化程序员-公众号投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
最新评论
发表评论