【游戏逆向】FPS游戏玩家对象数据分析

目标(Objective)

Ÿ Health

Ÿ Rifle Ammo

Ÿ Pistol Ammo

Ÿ Player Pointer

0x01 玩家健康

查找玩家健康值,玩家健康值是100,但是我们并不知道数值类型,我们可以使用精确搜索方式搜索100-所有类型
在这里插入图片描述
CE搜索
在这里插入图片描述
结果很多,我们可以使用手雷来减少血量
在这里插入图片描述
我们会得到两个结果

加粗样式
我们可以去尝试改变数值,最终发现一个是我们的客户端健康值,一个是服务器健康值,我们分析关注的重点在客户端这边,这是单机模式下修改服务端的可以达到无敌的效果但并不是分析的重点。
在这里插入图片描述
右键改地址选择寻找是什么改写了该地址,进入游戏继续让手雷改变健康值。
在这里插入图片描述
让我们记住这个地址,OD附加游戏然后转到该地址(很不幸游戏中途奔溃了,我们从头来了一遍,所以后面地址肯定不同了)
在这里插入图片描述
0x03 基地址与周边数据分析

现在我们开始寻找基地址,这样在下次打开游戏就不怕存放玩家健康值的地址改变啦。

[edx+0xF8]就是玩家健康值地址,edx来源于eax
在这里插入图片描述
eax来源于上面的call
在这里插入图片描述
call内运行逻辑还是比较多的,我们F2断点调试一下运行逻辑
在这里插入图片描述
根据调试分析,eax来源于[0x50F4F4]
在这里插入图片描述
最终表达式如下

[0x50F4F4+0xF8]

打开CE数据结构分析,我们填入0x50F4F4,第一个就很像我们玩家对象了
在这里插入图片描述
我们添加几个BOT
在这里插入图片描述
刚刚好七个对象指针
在这里插入图片描述
初步分析可能是地图玩家坐标
在这里插入图片描述
偏移150步枪弹药
在这里插入图片描述
偏移13C手枪弹药
在这里插入图片描述
偏移128步枪备用弹药

偏移114手枪备用弹药

到此整个数据分析差不多了,基本上都在附近。

猜你喜欢

转载自blog.csdn.net/douluo998/article/details/129986804