发布于:2018-8-28 10:14 | 94478次阅读 作者: 外部投稿 | 原作者: 通化程序员
地图信息的遍历应用于传送函数和跨地图寻路算法等功能,而由于地图属于公共资源,所以其属性也无法改动,我们只能以名字为突破口。 对于《天涯明月刀》的这款游戏,地图名字都过于简单,所以搜索结果会很多,过滤起来很麻烦,所以我们选择名字最为复杂的两个地图进行搜索。 搜索“海河洲”可以得到16个结果,分别修改这些结果,发现第一个地址可以改写本地的地图名字(如图)
在OD中对中个地图下访问断点,访问地图后游戏断下(如图) 向上分析eax的来源,执行到返回后得到来源于006FCD97 处的call 00700950的返回值,到函数内部分析,得到了一个结构体数组,并得到一个+4偏移(如图) 继续向上分析,可以得到两个+C偏移,和+10的数组结束偏移,执行到返回后在006FCD90 处的call 00700980内部得到基地址(如图) 对地图遍历进行整理,公式如下 [4523BD0+C]+C 数组起始地址 [4523BD0+C]+10 数组结束地址 [[4523BD0+C]+C]+n*100+0 地图ID [[[4523BD0+C]+C]+n*100+4] 地图名字
来源:通化程序员-投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) 收藏
|
最新评论
发表评论