【游戏逆向】某游戏球员价格列表分析

《NBA2KOL2》是一款64位的竞技游戏,游戏中的玩家不可以通过面对面进行交易,而玩家之间的财产交流只能通过交易行。所以扫拍功能就成了这款游戏外挂的主要方式。在对交易行的球员进行购买时,我们首先要对球员的价格进行分析,低买高卖才能获取利润。下面我们对其球员的价格列表进行分析。

首先选中一个球员并点击购买,这时我们可以看到当前选中球员有一个价格列表,里面显示中球员不同价格的出售数量。为了能够遍历到这个列表,我们需要通过切换不同球员,来改变第一个价格,并同CE进行扫描。最终我们得到了1个结果(如图)
在这里插入图片描述
通过xdbg64对这个地址附近的代码进行观察,我们发现,其实这个价格是球员的最低价格,而在其+8 的位置则是这个球员的最高价格,在+10的位置我们可以看到一个2字节的数据,这代表的是当前球员有几种价格。那么从+12开始则是球员的价格数组。

我们在得到的结果出下访问断点,切换球员后我们发现游戏并没有断下,而之前的地址已经被清零,这说明我们访问的地址有可能是一个临时的地址,这就需要我们从新扫描,并通过CE得到这个地址所存放的位置。

在CE中我们对这个地址-4的位置进行扫描可以得到3个结果,这是因为直接扫描这个地址无法得到结果(如图)
在这里插入图片描述
对三个结果分析下访问断点,发现第一个地址可以断下,并得到一个+68偏移(如图)
在这里插入图片描述
执行到返回后,分析rcx的来源,得到来源于000000014082F5CC处的call nba2kol2.14082CC60内部(如图)
在这里插入图片描述
到CALL内部继续分析,进入两层CALL后得到来源于0014041618处的add rdx,[rcx+8] (如图)
在这里插入图片描述
当然,在后面的函数中还有一层+0偏移,继续想上分析,可以得到shl rdx, 4,而rcx则来源于01400DD9A处的 mov r8,qword ptr ds:[rcx+8] (如图)
在这里插入图片描述
继续向上分析可以得到+60偏移,shl rdx, 4,以及一个基地址(如图)
在这里插入图片描述
基地址中存放的是一个普通的数值,并不是地址,而我们需要继续分析rbx的来源,由于继续分析的过程复杂,所以我们通过CE对rbx进行扫描,可以得到一个基地址(如图)
在这里插入图片描述
接下来只要将公式整理好就可以对球员价格列表进行读取了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

douluo998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值