发布于:2018-9-10 09:48 | 127913次阅读 作者: 外部投稿 | 原作者: 通化程序员
拍卖行物品的信息由于无法修改,所以常用的方法无法作为突破口。但是拍卖行有一个可以让我们利用的数据,那就是拍卖行的页数,我们可以很轻易的搜索到这个页数所在的地址,而当前页的物品信息往往都在这个页数的附近。 首先我们通过CE对页数进行搜索, 得到了2个结果(如图)
分别对这两个地址周围的内存进行观察,并不断的翻页,发现第一个地址附近的内存没有什么变化,但是第二个地址在页数+30偏移处的地址在不断的变化(如图) 继续跟随这个地址,发现其内部存放的是一个数组,而数组的成员数量和当前页的物品数量相同(如图) 对数组的成员下访问断点,分析其来源,在点击购买时游戏断下(如图) 得到了数组和+44偏移,而继续向上分析则来到了VM的代码段,在+44偏移处下断,得到ECX的值,并用CE搜索这个值,可以得到一个绿色的地址(如图) 在OD中查找常量,可以得出这个地址是一个基地址(如图) 这样就得到了当前页的遍历信息,对每一个数组成员进行分析,可以得到一些有用的信息如下 [[[40B4FDC]+44]+n*4]+87 单价 [[[40B4FDC]+44]+n*4]+8B 数量 [[[40B4FDC]+44]+n*4]+0B0 ID1 [[[40B4FDC]+44]+n*4]+0B4 ID2 来源:通化程序员—投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
最新评论
发表评论