【游戏逆向】《创世战车》玩家遍历分析

对于这种FPS游戏来说,玩家的血量并不是很关键,不过想分析玩家对象内的其他信息,还是要从血量作为突破口的。

但是由于试驾场是很少有发包的,包括战车的攻击等等,所以只能通过正常匹配战斗进行扫描。又由于匹配模式中没有敌方单位不会乖乖的让我们去扫描血量,所以我们要以角色的对象为突破口。

前面的文章中有角色对象的分析,我们直接拿来使用。在角色的血量上下访问断点,游戏很快断下(如图)
在这里插入图片描述
由于访问代码很多,所以断下的位置可能不同。返回后继续向上分析可以的到一个数组(如图)
在这里插入图片描述
012FDE46处的and edi, dword ptr [ecx+edx*4]中edi始终为-1,所以只需要分析后面的数组即可。向上分析ecx可以直接得到基地址[1FC76AC]。

而继续分析edi的来源,在012FDE31 得到lea edx, [eax+eax*2],再经过add eax, 2AAD和and eax, 0FFF,就得到了数组序号的来源。

经过整理可以得到公式如下

[[Crossout.exe+0F876AC]+(ID&0FFF+2AAD)*C]+0BC 血量

[[Crossout.exe+0F876AC]+(ID&0FFF+2AAD)*C]+0C0 最大血量

[[Crossout.exe+0F876AC]+(ID&0FFF+2AAD)*C]+02B0 X

[[Crossout.exe+0F876AC]+(ID&0FFF+2AAD)*C]+02B4 Z

[[Crossout.exe+0F876AC]+(ID&0FFF+2AAD)*C]+02B8 Y

下访问断点时,不同的访问代码返回的位置也不同,不过最终得到的遍历代码都是相同的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

douluo998

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

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

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

打赏作者

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

抵扣说明:

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

余额充值