
Galgame解包
Galgame解包
写在前面
注意:本篇教程仅供参考学习,学习后请于24小时内删除学习成果。禁止传播学习文件,本文作者不负任何可能的法律责任。解包行为可能违反游戏 EULA 和著作权法,获取的资源仅限于个人学习研究,严禁分享、传播或用于任何商业用途,否则后果自负。
请尽量购买原作支持。
本文教程至少适用于YuzuSoft的所有作品(截至2025.7.10)。教程仅适用于含.xp3的galgame的解包。
成果示例 以下为游戏原声文件预览 注意,需要保证你的浏览器支持html5,且DNS不被污染
- 请注意: 本文提供的工具包集合了多位开发者的成果。如果您需要再次分发此工具包本身,请遵守各工具原作者的许可协议(通常包含在工具包内或项目主页),再次强调,严禁传播利用这些工具解包获得的游戏原始资源文件。(最后更新日期25.8.13)
https://www.123684.com/s/CkJ2Td-ATohh 提取码:0721
或者 https://pan.moe/s/5p5GUG 提取码0721
下载后需要按照以下方式解压
修改后缀名为.zip
输入密码 Yuzusoft0d00072120257021ciallo@ 解压(复制就行,本站不会在复制内容后添加东西)
将解压出的文件修改后缀名为.rar
解压修改完后缀名的文件即可。
部分教程已经详细地写在工具包里了,游戏资源自行去搜。
最好把游戏置于全英文目录下再进行解包。
什么是”包”和”解包”?
包含个人理解
众所周知,游戏厂商做游戏的根本目的是为了赚钱。倘若直接公开游戏内部文件如源码,音频,图片等资源,则会动资本的蛋糕,影响赚钱。各大游戏厂商为了防止自己游戏的源文件泄露给自己造成损失,于是在整合游戏资源的同时进行了一定的加密。被整合的文件整体被称作”包”,而拆解这个包,得到游戏源文件的过程叫做”拆包”或”解包“。通常情况下,拆包需要解密,而解密需要密钥。那么密钥该如何获取呢?
游戏厂家肯定把游戏密钥储存在游戏内。若储存在线上则更容易被抓包爬虫获取。通过程序注入游戏进程进行动态捕捉即可捕获密钥。所以拆包的核心在于获取密钥。有些游戏没有官中,于是伟大的汉化组自己拆包,汉化,组合,加密手段也会随之改变,我们则需要新的密钥。
所以我提供的工具最重要的作用就是获取密钥。XP3Viewer是暴力破解密钥,旧krkr自带的加密在XP3Viewer前不堪一击。但需要注意的是,仅仅限于2016年前的作品,对2016年以后的作品和2016年以后的汉化游戏没用。但尝试总是可贵的,万一有小厂家加密手段很薄弱呢?KrkrExtract和GARbro是通过历代大佬积累的密钥和解包手段汇集而成的,对游戏原版文件有奇效,但对汉化组的加密就不行了。KrKrDump是人挡杀人,佛挡杀佛,直接根据游戏进程捕获内存密钥解包,遇到什么解什么,理论上可以全部解包(前提是跑完整个游戏流程,语音的提取需要跑完整条语音)。
在galgame厂商中使用最广泛的游戏制作引擎是unity和krkr。unity的好说,AssetStudio一下子就能全解开。而使用krkr的就比较麻烦了。本文主要讲关于krkr的解包方式。
那么如何确认自己的galgame是krkr游戏呢?很简单,打开游戏目录,含有.xp3文件的就是使用krkr引擎制作的游戏了。
一般的解包步骤
1.确认游戏会社,检查资源完整性
先对比md5检查资源完整性,再自行百度作品,找到游戏会社。若游戏会社规模较小,可直接尝试使用XP3Viewer解包。老游戏(发布日期小于2016)的也可使用。若会社规模较大如YuzuSoft,尝试使用GARbro和KrkrExtract解包。以上手段都不行再使用KrKrDump。
对于汉化组汉化的游戏或者经过代理(发行,本地化)商(比如株式会社 HIKARI FIELD)二次加密的游戏,无视以上所有规则,直接使用KrKrDump。
若游戏目录没有adult.xp3(r18内容),可自行前往 https://www.moyu.moe/ 或 https://patches.nekonyansoft.com/ 下载补丁,解压后置于游戏目录。
对于需要注入游戏进程的工具(如 KrkrExtract 和 KrkrDump),强烈建议不要使用 Steam 正版游戏。Steam 的 DRM 保护和在线验证会干扰程序注入,导致失败或游戏/账号异常。推荐使用免安装的版本。对于静态分析工具(GARbro, XP3Viewer),可以尝试直接分析 Steam 游戏目录下的 .xp3 文件,但请注意 Steam 版本的文件结构或加密方式可能与破解版不同,也有很大可能导致解包失败。
2.下载工具并尝试解包
正如上文所提,老游戏或小游戏会社游戏尝试使用XP3Viewer解包,再按照GARbro-KrkrExtract-KrKrDump的顺序依次尝试,直至成功。
2.1如何解包
- xp3viewer
将xp3viewer.exe和xp3viewer.dll同置于游戏根目录,将游戏的.exe文件拖到xp3viewer.exe上。若成功,将会出现两个窗口,一是游戏窗口,二是xp3viewer的窗口。对于某些游戏会自动解包,对于另外的游戏需要拖.xp3文件到这个窗口上。在游戏根目录下会出现新的文件夹,即解包内容。若只出现一个窗口或解压出乱码文件,则失败。
- GARbro
注意,仅仅适用于无二次加密或汉化组的游戏,最后更新时间为2019年,以后的游戏有概率解不开。虽然GARbro的最后官方更新在2019年,但其解密引擎仍能处理一些新游戏的加密
对于使用标准Krkr加密的游戏依然有效,但遇到定制化加密(如汉化组修改)可能失败打开garbro。切换到对应游戏目录。这里以亚托莉-我挚爱的时光-为例
主要文件在data.xp3内。也有文件被分到其他.xp3文件。双击data.xp3
若可能有加密,选择恰当的加密(这里没有加密)。根据游戏名(可自行百度英文名)选择加密手段,点击确定。
出现类似这个界面即为成功。若出现乱码则为失败。
进入想要提取的文件夹,右击提取。若提示无效的文件格式,则需要刷新后选择恰当的加密,实在不行解密失败。
- KrkrExtract
(KrkrExtract.Lite可能有问题,建议去使用KrkrExtract,自行下载)将KrkrExtract.Lite.exe和KrkrExtract.Core.dll和KrkrExtract.UI.dll同置于游戏根目录。这里以亚托莉-我挚爱的时光-为例
将游戏的.exe文件拖到KrkrExtract.Lite.exe上。若成功,将会出现两个窗口,一是游戏窗口,二是KrkrExtract的窗口。可能需要等待一段时间窗口才出现。
勾选PSB Package内的 full unpack,将需要解包的.xp3文件拖到此窗口,点击!!Dump!!,等待跑条完成。
可见出现KrkrExtract_Output文件夹,内存解包文件。同样的,主要文件在data.xp3内。也有文件被分到其他.xp3文件。
若点击!!Dump!!,下面的小窗口内出现乱码文件即解包失败。
- KrKrDump
将KrkrDumpLoader.exe和KrkrDump.dll同置于游戏根目录。在游戏根目录下创建KrKrDump.json文件并编辑
1 | { |
其中”outputDirectory”:后的引号中替换为你的实际游戏路径,注意保留双反斜线和dump(dump可自定义)。”includeExtensions””excludeExtensions”根据需求填写,一般无需改动。”enableExtract”是是否启用解密。修改完成后保存并退出。
将游戏的.exe文件拖到KrkrDumpLoader.exe上。若成功,将会出现两个窗口,一是游戏窗口,二是KrkrDumpLoader.exe的cmd全黑窗口。这时进入游戏开始游玩。开启autoplay模式,挂后台等待几小时。遇到选项就选,需要什么线路的资源就推什么线。KrkrDump 会在游戏加载资源(图片、音频、脚本等)到内存时实时捕获和解密它们。
可见游戏根目录下出现dump文件夹。一定要将游戏在后台跑完才能保证资源的完整。该方法支持续拆。该方法不可能失败(若有预期的文件未被解包,检查某些陌生格式的文件。若不符合你的需求,修改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.立绘的拼接
在解包出.tlg文件,转换成正常图片格式后,大部分人会发现图片并不完整。有的只有表情,有的只有底图。一般地,在fgimagine目录下的子目录内有xxx.stand和xxxa_info.txt和xxxb_info.txt或xxxa.txt和xxxb.txt,xxx为人名。如茉子a.txt。这些类似的文件即立绘拼接的规则文件。
若你会PS,当我没说以下的话。若你懂得利用规则文件合成立绘,那也当我没说。若你都不会,那么使用krkrFgiEditor整合立绘。和AutoCGAligner是同一个作者。
在开始之前,自行使用游戏内的立绘鉴赏功能判断xxxa_info.txt和xxxb_info.txt分别是哪个姿势。一般有正身和侧身。
打开krkrFgiEditor.exe,见到如上界面。
选择打开文件,找到你的规则文件并单击。程序会自动加载图片。
点击批量合成,出现以上窗口。单击添加组,左侧白框出现(none)。这个图层是鬓。点击图层后选项卡的小箭头,选择鬓。把右侧白框中除了鬓的内容全部按退格键删除。
图层组选择none,点击新建中间栏的新建,左侧白框出现group1,点击后点击上移。点击图层后选项卡的小箭头,选择底图,点击添加(一次一个)。点击图层组后选项卡的小箭头,选择表情,点击添加组。左侧白框出现表情,点击后点击上移,使左侧白框自上而下的顺序分别是group1-表情-(none)。表情一组可能不全,一次合成后删掉表情换组再来。
选择保存路径,点击开始合成。
(可能的示例格式)关于脸红或者黑脸的图层自行探索,详情见工具krkrFgiEditor目录下的README.md。
以下是其中一张立绘,注意鬓覆盖住了眼睛,即为成功。有更多关于图层的问题,也见工具krkrFgiEditor目录下的README.md。
立绘的图层储存因人而异,最好先自己探索。
6.剧本文件的拆解
某些时候我们需要修改或获取剧本文件。
.ks或.ks.scn内储存剧本文件,掌管文本显示和立绘的表情等。.ks可以直接打开,.ks.scn需要FreeMoteViewer目录下的PsbDecompile.exe来解密。流程同.pimg文件。
出现.json文件。.ks.resx.json文件是规则文件,ks.json是解密后的剧本。
使用我提供的工具的剧本提取目录下的脚本,便于提取文本。带有重名.bat文件的运行.bat文件,配置同样在.bat文件里配置。所有脚本和配置文件需要放在需要的根目录下运行。需要Python环境。parser是最核心的提取根本剧本的脚本,可能不适用于某些游戏,这种情况需要你自己观察剧本文件的规律然后重写脚本。
关于汉化,详细修改和二次封装见Krkr引擎工具合集(二)——脚本、编码、文字 - 哔哩哔哩,这位大佬的文章一定对你有所启发。
上次更新: 2025.8.13
首次发布:2025.7.10
好了,以上就是全部教程,希望能够帮到你。若你觉得文章有用,在评论区多多评论吧!或者你可以评论数字1-4,分别对应下图蕾娜的表情。
1 没啥用… 2 哈哈哈,从未见过如此搞笑的文章! 3 哇,真有用,好惊讶 4 哇,写的真好!
评论1和2的去吃蕾娜的Salmiakki糖去!