【程序破解】游戏的运行时修改和pak游戏的解包方式

引子

我觉得我没有办法覆盖到每一种情况,读者如果想破解游戏或者修改游戏中的数据(比如调作无敌),可以将这篇文章当作参考。

一种通用的修改方法:运行时修改(Cheat Engine)

我认为,一款游戏的修改通常有两种方式——运行时修改和运行前修改,这两个方式或许也可以叫作热修改和冷修改。

运行时修改所依靠的软件通常是Cheat Engine。Cheat Engine通过扫描游戏的内存,进行值修改、值锁定等操作。这款软件的界面长这个样子:

这款软件的操作其实并不难,第一次打开软件还会有一个英语教程,跟着练一遍就能明白大概怎么用。

值修改

这一段我们以开罗游戏的创意咖啡店物语 (Cafe Master Story)作为例子。

比如我们刚进游戏,有这样一个界面:

我们想要修改金钱,该怎么做呢?首先我们要在Cheat Engine中点击左上角的「电脑-放大镜」按钮添加进程,随后在数值中填写我们当前的金钱值:500000,然后进行「首次扫描」:

有这么多值为500000的内存地址,我们该修改哪个呢?这个时候就引出了Cheat Engine修改的精髓——「在变化中寻找目标地址」。我们先在游戏中花点钱:

这个时候,我们观察Cheat Engine里(实际上这个游戏足够简单,我们现在已经能够看到我们的目标了):

不过,如果游戏复杂一些,同时改变的值可能很多,为了确定一下,我们在数字框内输入当前的金钱值479000,然后点击「再次扫描」:

然后,我们只需要双击我们要修改的地方,修改为想要的值,然后把前面勾选即可:

大功告成!

PS:对于一般游戏,这个修改方法都是可以的,但是对于笔者这次的游戏,这样修改是无效的(狗头)!金钱的代码会不断切换地址,导致修改失效。这种通常可以通过找指令进行修改,但是对于这款游戏,找指令会导致闪退。这些方法将在未来的文章中解释。

pak游戏的解包方式

pak游戏通常是指一个游戏的内容都打包成一个.pak文件的游戏。这种游戏的根目录通常总会包括一个.exe文件用于启动游戏和一个.pak文件用于存储游戏相关的内容。这一段笔者修改的是一款非常老的对对碰游戏——Tibet Quest。这款游戏的根目录结构大致如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
C:\PROGRAM FILES (X86)\MYREALGAMES.COM\TIBET QUEST
│ Common.dll
│ game.exe
│ game.exe.id0
│ game.exe.id1
│ game.exe.id2
│ game.exe.nam
│ game.exe.til
│ install.url
│ PAKTool.exe
│ play.url
│ TibetQuest.pak
│ TibetQuest.pak.backup
│ unins000.dat
│ unins000.exe
│ uninstall.url
│ website.url

└─pak

可以看到,文件夹中包括一个game.exe用于启动,也包括一个TibetQuest.pak用于存储游戏数据。

比较新的游戏,如果使用.pak,则通常是UE引擎制作的,如果是这样,就可以使用UEViewerUnrealPakTool进行破解。但是,Tibet Quest是2009年的游戏,那个时候还没有出UE4引擎,所以不是。

这个时候,我们通常会使用QuickBMS进行「解包-修改-打包」的过程,支持的游戏可以在这里查看。当我们下载好对应的脚本,就可以用如下的方式从命令行进行解包:

1
.\quickbms.exe ..\tibetquest.bms .\TibetQuest.pak .\pak\

结构就是quickbms.exe BMS脚本地址 包地址 目标目录

然后我们在解包的目录中,修改对应的数据即可,笔者这次想要修改每一关的「限时」,这个文件存储在./pak/xml/levels.xml。修改一下即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<sub-level music="track2" 
tool1_count="0"
tool2_count="1"
tool3_count="0"
tool4_count="0"
tool5_count="0"
tool6_count="0"
tool7_count="1"
tool8_count="0"
fig1="fig6"
fig2="fig5"
fig3="fig3"
fig4="fig2"
relics="1"
time="50000"
need_clear="0"
/>

然后打包就可以:

1
.\quickbms.exe -r -w ..\tibetquest.bms .\TibetQuest.pak .\pak\
文章作者:
文章链接: https://www.coderlock.site/2026/02/09/【程序破解】pak游戏的解包修改方式/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 寒夜雨