2026 Kirikiri (KRKR) 引擎游戏解包与汉化入门:从 xp3 提取到文本翻译完整指南
下载了一部日系 galgame,解压后发现全是 .xp3 后缀的文件。WinRAR 打不开,7-Zip 也打不开。常规的解包工具全都不认这个格式。剧情文本在哪?怎么提取?怎么翻译?如果你碰过这个文件格式,那遇到的就是 Kirikiri 引擎(吉里吉里,简称 KRKR)。
和 Ren’Py 主要在欧美同人圈流行不同,Kirikiri 是日系商业视觉小说的绝对主力。Key 社的 CLANNAD 用这个引擎、型月的 Fate/stay night 用这个引擎、柚子社的全部作品也用的是它。说半壁江山一点不夸张——学会处理 Kirikiri,基本就覆盖了市面上半数以上的日系视觉小说。
这篇文章从确认引擎类型开始,到解包工具 GARbro 的使用、加密处理、文本提取与翻译、最后回封打包,一条龙讲清楚。不需要懂编程,按步骤走就行。无论你是想汉化某个没人翻译的老作品,还是想学习 galgame 资源处理的基础知识,这篇都够用。
一、Kirikiri vs Ren’Py:两大引擎怎么选
开局一张表,快速搞清两大视觉小说引擎的核心区别:
| 维度 | Kirikiri (KRKR) | Ren’Py |
|---|---|---|
| 定位 | 日系商业 gal 主力引擎 | 欧美同人/独立作品首选 |
| 代表作品 | CLANNAD、Fate/stay night、千恋万花 | DDLC、Eternal Senia |
| 资源包格式 | .xp3 | .rpa |
| 解包工具 | GARbro | unrpyc / rpatool |
| 脚本文件 | .ks 对话脚本 + .tjs 逻辑脚本 | .rpy 源码 / .rpyc 编译后 |
| 文本编码 | Shift-JIS | UTF-8 |
| 加密程度 | 较高,商业游戏经常加密 | 较低,大多数没加密 |
| 上手难度 | ⭐⭐⭐ 中等 | ⭐⭐ 较简单 |
选哪个?如果你主要想汉化日系商业作品(Key 社、型月、柚子社这些),先学 Kirikiri。如果目标是欧美或国产同人作品,先学 Ren’Py。两条路有交叉但不重合,不过解包汉化的思路是互通的——学会一种,第二种上手就快很多。大部分人的场景是两种都要学,因为你的游戏库里两边都有。
二、怎么确认是不是 Kirikiri 引擎
拿到一个游戏,先别急着找工具。花一分钟打开游戏目录确认引擎类型,不然用错工具浪费时间。
看有没有这几个特征文件:
data.xp3(或其他.xp3文件) — 游戏资源包,把脚本、图片、音频全部打包在一个文件里了。有.xp3基本就是 Kirikiri,没有别的引擎用这个格式。krkr.exe或krkrz.exe— 引擎启动程序。krkr.exe是原版 Kirikiri 2,krkrz.exe是后来的 Kirikiri Z 版本。双击它就能运行游戏。default.tjs— 脚本入口文件。TJS 是 Kirikiri 专用的脚本语言,类似 JavaScript 的语法。
同时看到这三种文件,100% 确定是 Kirikiri 引擎。
三、解包工具 GARbro 使用指南
GARbro 是处理 Kirikiri 游戏最通用的工具,支持解包和重新打包。同时也支持 Ren’Py 的 .rpa 格式——一个工具管两种引擎。
获取方式:去 GitHub 搜索 GARbro,进 Releases 页面下载最新版。解压后运行 GARbro.GUI.exe。Windows 用户直接双击;Linux 用户用 Wine 也能跑,实测兼容性不错。注意下载时选 GARbro-xxxx-Release.zip,不要下源码自己编译。
操作流程就三步:
第一步,GARbro 界面左侧是文件树,找到你的游戏目录。你会看到列出的 data.xp3 或 patch.xp3、bgm.xp3 等文件。
第二步,双击 data.xp3。GARbro 会解析包内容,右侧窗口列出完整的目录结构:
| 目录 | 内容 | 说明 |
|---|---|---|
scenario/ | .ks 脚本文件 | 汉化要改的核心文件,对话、选项、流程全在这里 |
bgimage/ | 背景图片 | .jpg 或 .png 格式 |
chara/ | 角色立绘 | 立绘文件,可以用图片编辑工具替换 |
sound/ | BGM 和语音 | .ogg 或 .wav 格式 |
system/ | 系统配置文件 | 字体定义、UI 布局等 |
rule/ | 规则文件 | 部分游戏的额外配置 |
第三步,Ctrl + A 全选所有文件 → 右键 → Extract → 选输出目录。全部文件解压到你的目标文件夹。
GARbro 也支持拖放回封——把修改后的文件直接拖进 xp3 窗口就能覆盖替换。实际操作之后你会发现,回封比解包还简单,拖一下就行,根本不需要额外工具。
如果双击 data.xp3 时报错”不支持的文件格式”或者直接崩溃——说明这个游戏做了额外的加密保护,需要下一步处理。
四、处理加密的 xp3 文件
商业游戏为了保护资源,经常会对 xp3 文件加密。GARbro 其实内置了解密功能,但它需要找到解密密钥。
找密钥的方法:
第一,直接在 GARbro 里打开 krkr.exe 或 krkrz.exe。GARbro 会自动扫描可执行文件,尝试提取内置的解密密钥。如果成功,它会自动解密并加载 xp3 的内容。
第二,如果上一步不成功,打开游戏目录里的 default.tjs 脚本文件(用记事本就能打开)。有些游戏的密钥明码写在这里——搜关键词 Key 或者 Storage,能找到类似 Key = 0xABCDEF1234 这样的定义。
第三,实在找不到密钥的话,去社区搜一下这个游戏名加上”xp3 key”或”xgkey”。老游戏基本都有人分享过解密信息。
拿到密钥后,在 GARbro 里点开 xp3 文件前会弹出一个对话框让你输入密钥——粘贴进去就能正常打开了。
五、脚本翻译:从提取到回封
解包成功后,scenario/ 目录里的 .ks 文件就是游戏的剧情脚本。打开一个看看,对话文本的格式大概是这样的:
@bg bgimage/classroom.jpg「朋也:你来了啊。」「渚:嗯,等很久了吗?」*choice 选择「等了一会儿」 选择「刚到」翻译的核心工作就是替换引号里的日文台词。
批量提取全部文本:游戏可能有几十个 .ks 文件,一个一个手动翻效率极低。推荐用 Kirikirir 工具——它能扫描所有 .ks 文件,把对话文本批量提取出来合并成一个纯文本文档。把这个文档交给翻译工具或人工翻译,翻译完成后按行号对应替换回去。
没有 Kirikirir 怎么办:你也可以写一段简单的脚本,用正则表达式匹配 「」 里的内容,提取和替换。```bash
正则批量提取示例(用 grep + sed)
grep -roh ’「[^」]」’ scenario/.ks > extracted_text.txt
然后用翻译工具处理 extracted_text.txt
不会写的话,手动逐个文件翻也行,就是慢一些。
**保存编码必须注意**:日系游戏文本编码是 Shift-JIS。你用记事本修改 `.ks` 文件,保存时一定要选 Shift-JIS 编码(记事本的另存为 → 编码选择)。如果存成了 UTF-8,游戏里会显示乱码或者直接崩溃。
**回封 xp3**:翻译好的 `.ks` 文件放回原来的目录结构里。在 GARbro 里打开原始 xp3,把修改过的文件拖进去覆盖。或者新建一个 `patch.xp3`——大部分 Kirikiri 游戏会自动加载 `patch.xp3` 覆盖原文件,这样就不用动原始的 `data.xp3` 了,方便恢复。
**替换前一定备份原始 xp3 文件**。回封出错了还能恢复,不用重新解压游戏。
## 六、汉化注意事项
| **注意点** | **说明** ||------|------|| **文件编码** | 必须保持 Shift-JIS。保存成 UTF-8 会导致游戏乱码或直接崩溃——这是新手最容易犯的错误 || **脚本语法** | 对话文本可以改,但脚本指令(`@` 开头的命令、`*` 开头的标签、`[if]` 条件判断)和注释不能动。改错一条语法,游戏可能在某处突然卡死 || **文字长度** | 日翻中后中文通常更短,对话框的显示区域是固定大小的。如果某句台词很长,适当缩写,别让文字溢出对话框边缘 || **测试覆盖** | 修改完后不要只测开头。每个章节至少加载一次,确保所有修改过的场景都能正常显示。漏掉一处脚本语法错误可能导致一个章节后面全部白屏 || **字体问题** | 部分游戏使用日文字体,不包含中文字符。可能需要修改 `system/` 下的字体配置文件,换成支持中文的字体 || **行长校准** | Kirikiri 的自动换行有时对中文处理不好。如果发现台词显示不全,手动在译文里加换行符 `\n` |
## 七、工作流总结确认引擎类型 → GARbro 解包 → 提取 .ks 脚本 → 翻译文本 → 回封 xp3 → 测试验证
整套流程熟练之后,处理一个游戏大概 2-3 小时,其中翻译时间占大头。如果你用 AI 辅助翻译(比如 SakuraLLM 这种专门针对 galgame 优化的模型),速度还能再快一截。另外建议用 [Git](/posts/2026-gitea-自建-git-仓库docker-部署轻量替代-github/) 做版本管理——每次修改前 commit 一次,改错了可以随时回退,省得反复备份。
GARbro 同时支持 Ren'Py 的 `.rpa` 格式,学会它之后就等于同时掌握了两种主流引擎的解包能力。补上 unrpyc 处理 `.rpyc` 编译脚本的知识,就能覆盖市面上 90% 以上的视觉小说。如果你还在纠结选 Kirikiri 还是 Ren'Py,可以看本站的Galgame 引擎全面对比。
## Q&A 快速排错
**Q:GARbro 打不开 xp3,显示未知格式?**游戏可能用了非标准加密。试试找密钥或搜索社区是否有解密补丁。部分老游戏用的 xp3 v1 格式,GARbro 的较新版本已经不支持了——去 GitHub 找旧版本的 GARbro。
**Q:修改 .ks 文件后游戏乱码?**保存编码错了。确认你用 Shift-JIS 编码保存,不是 UTF-8。用 Notepad++ 或 VS Code 打开,状态栏能看到当前编码。
**Q:回封后游戏在某个场景卡死?**那个场景的 .ks 脚本里有语法错误。检查你改动的行,确认没有删掉 `*` 标签或 `@` 指令。如果某行不确定,回退到原始版本对比差异。
**Q:中文显示为方框?**游戏字库里没有中文字符。在 `system/` 目录下找到字体定义文件(一般是 `Font.tjs`),把字体名改成系统里已安装的中文字体,比如"微软雅黑"或"SimHei"。
**推荐指数:⭐⭐⭐⭐**支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!