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

【游戏分析】《天涯明月刀》任务遍历分析

发布于:2018-8-31 14:33   |    140203次阅读 作者: 外部投稿    |   原作者: 通化程序员

任务遍历本身的突破口比较少,而对于《天涯明月刀》这款游戏来说,很多的突破口都无法得到正常的结果,首先,任务需求数量不在正常的任务遍历中,其次,任务是无法放弃的,也就是说任务标志位无法扫描,这样的话,我们就只有接取任务参数和任务的名字可以使用了。

我们对任务的名字进行扫描,这里用到的是UTF-8编码,得到十几个结果(如图)

 

分别对结果进行修改,发现并没有能对本地的任务名字进行修改的,也就是说任务接取之后任务名字就被初始化了,这样就无法对任务名字进行访问,所以我们要先得到下一个任务的名字,并提前进行扫描,当任务接取时下访问断点,才能让游戏断下。或者在执行任务的过程中,对NPC进行访问也有可能会访问到任务的名字。

重新对下一个任务进行提前搜索,得到较少的结果(如图)

这些结果只有一个地址是被4整除的,我们先对这个地址下访问断点,并提交当前任务,游戏在接取下一个任务时断下(如图)

执行到返回后,得到来源于00772BF3  处的call    eax(如图)

F2断点并再次提交任务,游戏断下。对函数内部进行分析,得到+2C和+C偏移(如图)

继续分析ecx的来源,在00772BDD 处的  call    edx中得到+24偏移(如图)

返回后分析ecx来源,得到来源于00772BC8  处的call    006B3C80的返回值,在函数内部可以得到数组结构和+4偏移(如图)

继续向上分析,可以得到+20偏移,执行到返回后可以得到8A0偏移和基地址(如图)

这样我们就得到了任务遍历的公式,对公式进行整理和观察,可以得处这是整个游戏所有任务的库,而任务总数量则来源于[[414A7A8]+8A0]+28,共有0xF61个。在任务对象中还可以得到任务完成标志位,任务ID等重要的属性。




 来源:通化程序员-投稿

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

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

收藏
分享到:
踩1 赞0

收藏

上一篇:【游戏分析】《天涯明月刀》技能冷却分析

下一篇:【资讯】God.Game漏洞复盘:跑路还是黑客攻击?

最新评论
B Color Image Link Quote Code Smilies

发表评论

top 问题反馈

返回顶部