boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

游戏逆向实战(上)


avatar
yuhui 2025年10月24日 31

游戏逆向实战(上)

逆向目标:

https://github.com/assaultcube/AC

工具:Cheat Engine

打开工具

1742202726314-d04ecfc8-20d8-4a02-925b-1df1a62395c9.png

点击绿色框的按钮选择应用程序,这里选择游戏的应用程序

搜索游戏内的数值,这里游戏内子弹为20,在CE中搜索20

1742202812146-63f7aa59-60c1-44c2-baed-c448d1cb0b02.png

1742203712368-30ff8870-f892-4bda-bdc9-37e0613a9397.png

数据条目多,采取思路为 游戏中内存保存数据的地址目前为20,开一枪,子弹数据为19,再次搜索19缩小范围

筛选到最小范围后,发现2个条目数据同时变化

1742203880125-8dedaf1f-2c39-40f5-b86f-13e05ef3ba6e.png

如何进一步缩小范围呢?

1742203915298-fd97d26f-822f-48d2-bd25-f3aff364b82c.png

猜测这两条地址为一个主、一个备

无法判断谁是主,此时将数据更改区别

1742203980566-316a7818-bcec-4a82-bcaf-5f91c1045b37.png

一个改成1,一个改成2

1742204001320-5cb4bb02-4355-4202-b5e9-247422bdf075.png

游戏内子弹变为1,说明第一条可能是主

在游戏内消耗子弹数量,换弹后并没有变为2

说明第二条数据并非为子弹数量主要数据

1742204105694-65691694-3e32-46db-bb8c-942e9733e299.png

删去即可

在CE中修改数值后锁定

1742204159717-f7251fac-762a-4198-82b4-d2883f99707e.png

后在游戏中发现子弹数量在不断消耗不断更新为5

这样 子弹数量就找到了

1742204235039-ed744481-02f3-469e-9932-a85c94d1240a.png

更改描述为子弹数量

玩家血量:

同理 找到存放玩家血量到数据

1742204334752-629e825e-f33a-4004-8e5f-f17dec40656f.png

修改为200

此时游戏内血量更为200

坐标:

此时不知道坐标数值

查找一个未知数值

1742204474178-669b558f-6ebf-45a1-b472-64c7c7d102a1.png

数据类型为浮点数

1742204487102-a6a63436-a48e-4954-83cf-1e8ad80f3574.png

此时扫描出很多数值

1742204521652-fde11c82-0ccd-4e40-b342-33128233fe00.png

然后在游戏中走动更改坐标

回到CE扫描,选择扫描数据为变动的数据

1742204601582-dde7cf16-fe4a-4b43-a0b0-4ad880ce12d5.png

选择下次扫描

1742204653040-898b9d5a-721c-41b2-ac9e-77d5fa51cea9.png

此时数据少了很多

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

1742204733537-ee4c9eb1-a126-4061-a7ca-46db63dd9b38.png

1742204743307-1cbb3c3c-0bad-4f7f-83d3-0df571039909.png

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

再次寻找变动的数值

1742204796118-529852b8-a55c-4c81-848b-40afb399612b.png

1742204804611-f34cb246-7889-4a8b-a2e2-a700d75ba0d2.png

此时数据相比之前少了非常多,但仍然不利于查找存放坐标的数据

重复上面的操作,搜索没有变化的数据,和变化的数据交替操作缩小范围

1742204979511-27725b38-45b4-4e35-97eb-dba121bebbbe.png

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

1742205064646-376637a6-728d-4c16-9e92-191621425aa0.png

查看数据地址,可以看到数据地址相差4个字节

添加一些数据进入下面表中

1742205120463-b628ce96-6358-42f6-b8dc-6744276db53d.png

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

1742205227948-d0135f80-18fa-4a5c-a60e-0f40df3f4b70.png

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

1742205332316-7f8ce809-e1aa-42b8-916f-d281f8d07f7a.png

利用二分法 排除数据 找到主要需要的数据,发现第一条为主要影响游戏内容数据

猜测该条数据控制x轴,那么这条数据地址后4个字节为y轴,再加4字节则为y轴

1742205494217-2f1e675a-8797-46ee-b0eb-6f6ee244d4e1.png

1742205507468-b943070f-ddc3-4165-947b-bc361ea4e6e6.png

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

1742205593777-99277bd7-2d4b-4242-b84d-ff2b6efb1192.png

1742205636260-b930154f-517b-46c8-85f0-b55dca99d779.png

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

Reclass:

1742205693545-43ba2a79-7331-4684-a426-1e422b43aa89.png

打开 recalss ,选择应用程序

点击new 打开新的标签栏

1742205726595-eaabfad6-75ec-4bc7-9ea9-73e52f421757.png

在第一行填入地址

1742205780137-609e9c93-7800-4815-b405-74b4659a289a.png

1742205812744-805e5ba1-d357-4f61-affc-003a16f60eac.png

1742205838088-355f1622-bbb3-41ac-85a0-6b200c2ea4cc.png

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



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码