# Galgame解包
## 写在前面
<mark>注意:本篇教程仅供参考学习,学习后请于24小时内删除学习成果。禁止传播学习文件,本文作者不负任何可能的法律责任。本教程并不专业,若有疑问尽可能自己解决</mark>
注意,请尽量购买原作支持。
本文教程至少适用于YuzuSoft的所有作品(截至2025.7.10)。教程仅适用于含.xp3的galgame的解包。
成果示例 游戏原声文件预览见https://alzt02.github.io/2025/07/17/%E9%83%A8%E5%88%86gal%E7%9A%84%E8%A7%A3%E5%8C%85/
- 本文所用到的工具(注意,二次转发需要署名!!)(最后更新日期25.7.17)
https://www.123684.com/s/CkJ2Td-v7khh? 提取码:0721
或者 https://pan.moe/s/0q6CG 提取码0721
下载后需要按照以下方式解压
1. 修改后缀名为.zip
2. 输入密码 Yuzusoft0d00072120257021ciallo@ 解压
3. 将解压出的文件修改后缀名为.7z
4. 解压修改完后缀名的文件即可。
部分教程已经详细地写在工具包里了,游戏资源自行去搜。
<mark>最好把游戏置于全英文目录下再进行解包</mark>。
## 什么是"包"和"解包"?
`包含个人理解` 众所周知,游戏厂商做游戏的根本目的是为了~~赚钱~~。倘若直接公开游戏内部文件如源码,音频,图片等资源,则会~~动资本的蛋糕~~,影响~~赚钱~~。各大游戏厂商为了防止自己游戏的源文件泄露给自己造成损失,于是在整合游戏资源的同时进行了一定的加密。被整合的文件整体被称作"包",而拆解这个包,得到游戏源文件的过程叫做"拆包"或”解包“。通常情况下,拆包需要解密,而解密需要密钥。那么密钥该如何获取呢?
游戏厂家肯定把游戏密钥储存在游戏内。若储存在线上则更容易被抓包爬虫获取。通过程序注入游戏进程进行动态捕捉即可捕获密钥。所以拆包的核心在于获取密钥。有些游戏没有官中,于是伟大的汉化组自己拆包,汉化,组合,加密手段也会随之改变,我们则需要新的密钥。
所以我提供的<mark>工具最重要的作用就是获取密钥</mark>。*XP3Viewer*是暴力破解密钥,旧krkr自带的加密在XP3Viewer前不堪一击。但需要注意的是,仅仅限于2016年前的作品,对2016年以后的作品和2016年以后的汉化游戏没用。但尝试总是可贵的,万一有小厂家加密手段很薄弱呢?*KrkrExtract*和*GARbro*是通过历代大佬积累的密钥和解包手段汇集而成的,对游戏原版文件有奇效,但对汉化组的加密就不行了。*KrKrDump*是人挡杀人,佛挡杀佛,直接根据游戏进程捕获内存密钥解包,遇到什么解什么,理论上可以全部解包(前提是跑完整个游戏流程,语音的提取需要跑完整条语音)。
---
在galgame厂商中使用最广泛的游戏制作引擎是unity和krkr。unity的好说,*AssetStudio*一下子就能全解开。而使用krkr的就比较麻烦了。本文主要讲关于krkr的解包方式。
那么如何确认自己的galgame是krkr游戏呢?很简单,打开游戏目录,<mark>含有.xp3文件的就是使用krkr引擎制作的游戏了</mark>。
## 一般的解包步骤
### 1.确认游戏会社,检查资源完整性
先对比md5检查资源完整性,再自行百度作品,找到游戏会社。若游戏会社规模较小,可直接尝试使用XP3Viewer解包。老游戏(发布日期小于2016)的也可使用。若会社规模较大如YuzuSoft,尝试使用GARbro和KrkrExtract解包。以上手段都不行再使用KrKrDump。
对于汉化组汉化的游戏或者经过代理(发行,本地化)商(比如株式会社 HIKARI FIELD)二次加密的游戏,无视以上所有规则,直接使用KrKrDump。
若游戏目录没有adult.xp3(r18内容),可自行前往 https://www.moyu.moe/ 或 https://patches.nekonyansoft.com/ 下载补丁,解压后置于游戏目录。
<mark>若你的游戏是steam正版,不要使用</mark>。若游戏运行需要steam会影响程序注入。推荐下载民间破解版。
### 2.下载工具并尝试解包
正如上文所提,老游戏或小游戏会社游戏尝试使用XP3Viewer解包,再按照GARbro-KrkrExtract-KrKrDump的顺序依次尝试,直至成功。
#### 2.1如何解包
- xp3viewer
将xp3viewer.exe和xp3viewer.dll同置于游戏根目录,将游戏的.exe文件拖到xp3viewer.exe上。若成功,将会出现两个窗口,一是游戏窗口,二是xp3viewer的窗口。对于某些游戏会自动解包,对于另外的游戏需要拖.xp3文件到这个窗口上。在游戏根目录下会出现新的文件夹,即解包内容。若只出现一个窗口或解压出乱码文件,则失败。
- GARbro
*注意,仅仅适用于无二次加密或汉化组的游戏,最后更新时间为2019年,以后的游戏有概率解不开*。打开garbro。切换到对应游戏目录。这里以亚托莉-我挚爱的时光-为例

主要文件在data.xp3内。也有文件被分到其他.xp3文件。双击data.xp3

若可能有加密,选择恰当的加密(这里没有加密)。根据游戏名(可自行百度英文名)选择加密手段,点击确定。

出现类似这个界面即为成功。若出现乱码则为失败。
进入想要提取的文件夹,右击提取。若提示无效的文件格式,则需要刷新后选择恰当的加密,实在不行解密失败。
- KrkrExtract
将KrkrExtract.Lite.exe和KrkrExtract.Core.dll和KrkrExtract.UI.dll同置于游戏根目录。这里以亚托莉-我挚爱的时光-为例

将游戏文件拖到KrkrExtract.Lite.exe上。若成功,将会出现两个窗口,一是游戏窗口,二是KrkrExtract的窗口。可能需要等待一段时间窗口才出现。
勾选PSB Package内的 <mark>full unpack</mark>,将需要解包的.xp3文件拖到此窗口,点击!!Dump!!,等待跑条完成。

可见出现KrkrExtract_Output文件夹,内存解包文件。同样的,主要文件在data.xp3内。也有文件被分到其他.xp3文件。
若点击!!Dump!!,下面的小窗口内出现乱码文件即解包失败。
- KrKrDump
将KrkrDumpLoader.exe和KrkrDump.dll同置于游戏根目录。在游戏根目录下创建KrKrDump.json文件并编辑
```KrKrDump.Json
{
"loglevel": 1,
"enableExtract": true,
"outputDirectory": "F:\\game\\sanoba witch\\dump",
"rules": [
"file://\\./.+?\\.xp3>(.+?\\..+$)",
"archive://./(.+)",
"arc://./(.+)",
"bres://./(.+)"
],
"includeExtensions": [],
"excludeExtensions": [
".ogg"
],
"decryptSimpleCrypt": true
}
```
其中"outputDirectory":后的引号中替换为你的实际游戏路径,注意保留双斜线和dump(可自定义)。"includeExtensions""excludeExtensions"根据需求填写,一般无需改动。"enableExtract"是是否启用解密。修改完成后保存并退出。
将游戏的.exe文件拖到KrkrDumpLoader.exe上。若成功,将会出现两个窗口,一是游戏窗口,二是KrkrDumpLoader.exe的cmd全黑窗口。这时进入游戏,点击开始游戏,开始游玩。开启autoplay模式,挂后台等待几小时。遇到选项就选,需要什么线路的资源就推什么线。

可见游戏根目录下出现dump文件夹。<mark>**一定要将游戏在后台跑完才能保证资源的完整**</mark>。该方法支持续拆。该方法不可能失败(若有预期的文件未被解包,检查某些陌生格式的文件。若不符合你的需求,修改excludeExtensions以自定义排除项)。
### 3.进一步的拆包
- .tlg文件
.tlg文件是储存立绘的文件。使用garbro将.tlg文件转换成普通图像格式。

单击文件,按住鼠标左键不要松手,拖到你想转换的最后一个文件。

点击右键,选择转换多媒体文件,点击。按照提示选择目标文件类型和目标文件夹,点击确定即可转换。
- .mtn文件
.mtn文件是储存SD Q版小人的文件。使用garbro将.mtn文件转换(拆分)成普通图像格式。同上。但需要注意,一份.mtn文件内储存多个图像。
- .pimg文件
.pimg文件是储存CG的文件。使用FreeMoteViewer将.pimg文件转换成普通图像格式。需要注意,一份.pimg文件内储存多个图像。
先将.pimg文件置于独立目录,再将.pimg文件拖到FreeMoteViewer目录下的PsbDecompile.exe上。

黑色窗口消失后,可见独立目录下拆分出两个规则文件和一个文件夹。文件夹内即为cg文件。
### 4.立绘和CG的整合
大部分游戏会只使用一张立绘或CG的底图,其余为表情差分。若你会PS,当我没说以下的话。若你懂得利用规则文件合成立绘CG,那也当我没说。若你都不会,那么使用AutoCGAligner整合CG和立绘。

打开AutoCGAligner,点击批量合成。将背景或底图拖到左侧白框并点一下,将所有差分拖到右侧白框。选择精确模式,选择好保存路径,点击开始合成。耐心等待进度条跑完。跑的很慢,但成果特别好。
以下是其中一张图片

### 5.剧本文件的拆解
某些时候我们需要修改或获取剧本文件。

.ks或.ks.scn内储存剧本文件,掌管文本显示和立绘的表情等。.ks可以直接打开,.ks.scn需要FreeMoteViewer目录下的PsbDecompile.exe来解密。流程同.pimg文件。

出现.json文件。.ks.resx.json文件是规则文件,ks.json是解密后的剧本。关于汉化,详细修改和二次封装见[Krkr引擎工具合集(二)——脚本、编码、文字 - 哔哩哔哩](https://www.bilibili.com/opus/748992517956960297),这位大佬的文章一定对你有所启发。
---
上次更新: 2025.7.17
首次发布:2025.7.10
---
好了,以上就是全部教程,希望能够帮到你。若你觉得文章有用,在评论区多多评论吧!
来我的网站 https://alzt02.github.io 看看!