游戏逆向实战(上)
逆向目标:
https://github.com/assaultcube/AC
工具:Cheat Engine
打开工具

点击绿色框的按钮选择应用程序,这里选择游戏的应用程序
搜索游戏内的数值,这里游戏内子弹为20,在CE中搜索20


数据条目多,采取思路为 游戏中内存保存数据的地址目前为20,开一枪,子弹数据为19,再次搜索19缩小范围
筛选到最小范围后,发现2个条目数据同时变化

如何进一步缩小范围呢?

猜测这两条地址为一个主、一个备
无法判断谁是主,此时将数据更改区别

一个改成1,一个改成2

游戏内子弹变为1,说明第一条可能是主
在游戏内消耗子弹数量,换弹后并没有变为2
说明第二条数据并非为子弹数量主要数据

删去即可
在CE中修改数值后锁定

后在游戏中发现子弹数量在不断消耗不断更新为5
这样 子弹数量就找到了

更改描述为子弹数量
玩家血量:
同理 找到存放玩家血量到数据

修改为200
此时游戏内血量更为200
坐标:
此时不知道坐标数值
查找一个未知数值

数据类型为浮点数

此时扫描出很多数值

然后在游戏中走动更改坐标
回到CE扫描,选择扫描数据为变动的数据

选择下次扫描

此时数据少了很多
继续在游戏中切枪,视角动,但人物坐标不动,继续在CE中搜索没有变化的数据


在游戏中移动一段,保持其他数据没有发生变化的情况下
再次寻找变动的数值


此时数据相比之前少了非常多,但仍然不利于查找存放坐标的数据
重复上面的操作,搜索没有变化的数据,和变化的数据交替操作缩小范围

此时数据少了非常多,一些数据可以人工判断非坐标参数,可以排除

查看数据地址,可以看到数据地址相差4个字节
添加一些数据进入下面表中

同理,上面数据中也可能存在主要数值和备份数值的区别,我们可以更改数值判断

锁定一些参数 进入游戏测试有没有变化,发现没有变化,然后锁定后三个数值,发现在游戏中走动情况下不断瞬移回起点

利用二分法 排除数据 找到主要需要的数据,发现第一条为主要影响游戏内容数据
猜测该条数据控制x轴,那么这条数据地址后4个字节为y轴,再加4字节则为y轴


可以发现这些地址非常相近,那么游戏任务的底层数据结构是什么呢


那么可以猜测 在与上面数据相近的数据中,也有对于游戏内角色的重要参数
Reclass:

打开 recalss ,选择应用程序
点击new 打开新的标签栏

在第一行填入地址



更新: 2025-03-17 18:05:30
原文: https://www.yuque.com/yuhui.net/network/bcqseehgdfi95035

评论(0)
暂无评论