xoreos/xoreos-tools
GitHub: xoreos/xoreos-tools
辅助逆向工程 BioWare Aurora 引擎游戏的专用工具集,提供格式转换、归档提取、纹理导出与脚本反编译等功能。
Stars: 78 | Forks: 32
# xoreos-tools README
这是一组用于辅助逆向工程 BioWare 的
Aurora 引擎游戏的工具集。xoreos-tools 是 xoreos 项目的一部分;详情请
参阅 [xoreos 网站](https://xoreos.org/) 及其 [GitHub
代码库](https://github.com/xoreos),尤其是[主 README.md](https://github.com/xoreos/xoreos/blob/master/README.md)。
此处包含的工具均基于 [GNU General
Public License version 3](https://www.gnu.org/licenses/agpl-3.0.html)
或(您自行选择的)更新版本的条款授权。
目前包含以下工具:
* gff2xml:将 BioWare GFF 转换为 XML
* tlk2xml:将 BioWare TLK 转换为 XML
* ssf2xml:将 BioWare SSF 转换为 XML
* fev2xml:将 FMOD FEV 转换为 XML
* xml2gff:将 XML 转换回 BioWare GFF
* xml2tlk:将 XML 转换回 BioWare TLK
* xml2ssf:将 XML 转换回 BioWare SSF
* convert2da:将 BioWare 2DA/GDA 转换为 2DA/CSV
* fixpremiumgff:修复 NWN 高级模块 HAK 中的 BioWare GFF 文件
* fixnwn2xml:将 Obsidian NWN2 XML 转换为有效 XML
* unerf:提取 BioWare ERF 归档
* unherf:提取 BioWare HERF 归档
* unrim:提取 BioWare RIM 归档
* unnds:提取 Nintendo DS roms
* unnsbtx:将 Nintendo NSBTX 纹理提取为 TGA 图像
* unkeybif:提取 BioWare KEY/BIF 归档
* unobb:提取 Aspyr 的 OBB 虚拟文件系统
* untws:提取 CDProjectRed 的 TheWitcherSave 归档
* erf:创建 BioWare ERF 归档
* rim:创建 BioWare RIM 归档
* tws:创建 CDProjectRed TheWitcherSave 归档
* keybif:创建 BioWare KEY/BIF 归档
* desmall:解压“small”(Nintendo DS LZSS,类型 0x00 和 0x10)文件
* xoreostex2tga:将 BioWare 的纹理格式转换为 TGA
* nbfs2tga:将 Nintendo 的原始 NBFS 图像转换为 TGA
* ncgr2tga:将 Nintendo 的 NCGR 图像转换为 TGA
* cbgt2tga:将 CBGT 图像转换为 TGA
* cdpth2tga:将 CDPTH 深度图像转换为 TGA
* ncsdis:反汇编 NWScript 字节码
* ncsdecomp:反编译 NWScript 字节码
## CI 状态
- [](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_autotools_gcc.yml/)
- [](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_autotools_clang.yml/)
- [](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_cmake_gcc.yml/)
- [](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_cmake_clang.yml/)
- [](https://github.com/xoreos/xoreos-tools/actions/workflows/macos_autotools_clang.yml/)
- [](https://github.com/xoreos/xoreos-tools/actions/workflows/macos_cmake_clang.yml/)
- [](https://github.com/xoreos/xoreos-tools/actions/workflows/windows_cmake_msvc.yml/)
- [](https://scan.coverity.com/projects/3296)
## 获取 xoreos-tools
您可以通过多种方式获取 xoreos-tools:
您可以从我们的[下载页面](https://xoreos.org/downloads/index.html)下载包含最新版本二进制文件的压缩包。其中包含
适用于 Microsoft Windows、Mac OS X 和 GNU/Linux 的二进制文件,以及适用于各种
GNU/Linux 发行版的软件包。所有这些都同时支持 32 位和 64 位 x86 架构。
或者,如果您运行的是 Arch Linux,您可以直接从
[AUR](https://aur.archlinux.org/packages/xoreos-tools/) 安装 xoreos-tools。
或者,如果您运行的是 Gentoo Linux,您可以直接从我们的
[overlay](https://github.com/xoreos/gentoo-overlay) 安装 xoreos-tools。
最后,您可以自行编译 xoreos-tools;可以使用我们[下载页面](https://xoreos.org/downloads/index.html)上的
发行版源码包,或者最新
[代码库](https://github.com/xoreos/xoreos-tools)检出。有关在不同操作系统上编译 xoreos 的详细信息,
请阅读我们 Wiki 上的
[编译 xoreos-tools](https://wiki.xoreos.org/index.php?title=Compiling_xoreos-tools)
页面。
## TLK 语言 ID 和编码
Aurora 游戏使用数字语言 ID 来标识 TLK
文件所包含的语言。遗憾的是,这些语言 ID 在不同游戏中有所不同,
而且这些 TLK 文件中用于字符串的编码也有所不同。目前无法自动检测此信息,
因此必须以某种方式将其提供给处理这些文件的工具。
对于工具 tlk2xml 和 xml2tlk,您可以直接指定此编码,
也可以通过指定 TLK 来源的游戏来设定。请注意,
这不适用于《Sonic Chronicles: The Dark Brotherhood》,因为它的
TLK 文件不提供语言 ID。
Neverwinter Nights, Neverwinter Nights 2, Knights of the Old Republic,
Knights of the Old Republic 2:
| 语言 ID | 语言 | 编码 |
|------------:|:----------------------|:---------|
| 0 | 英语 | CP-1252 |
| 1 | 法语 | CP-1252 |
| 2 | 德语 | CP-1252 |
| 3 | 意大利语 | CP-1252 |
| 4 | 西班牙语 | CP-1252 |
| 5 | 波兰语 | CP-1250 |
| 128 | 韩语 | CP-949 |
| 129 | 中文 (繁体) | CP-950 |
| 130 | 中文 (简体) | CP-936 |
| 131 | 日语 | CP-932 |
Jade Empire:
| 语言 ID | 语言 | 编码 |
|------------:|:----------------------|:---------|
| 0 | 英语 | UTF-8 |
| 1 | 法语 | UTF-8 |
| 2 | 德语 | UTF-8 |
| 3 | 意大利语 | UTF-8 |
| 4 | 西班牙语 | UTF-8 |
| 5 | 波兰语 | UTF-8 |
| 6 | 捷克语 | UTF-8 |
| 7 | 匈牙利语 | UTF-8 |
| 130 | 中文 (简体) | UTF-8 |
| 132 | 俄语 | UTF-8 |
The Witcher:
| 语言 ID | 语言 | 编码 |
|------------:|:----------------------|:---------|
| 0 | "Debug" | UTF-8 |
| 3 | 英语 | UTF-8 |
| 5 | 波兰语 | UTF-8 |
| 10 | 德语 | UTF-8 |
| 11 | 法语 | UTF-8 |
| 12 | 西班牙语 | UTF-8 |
| 13 | 意大利语 | UTF-8 |
| 14 | 俄语 | UTF-8 |
| 15 | 捷克语 | UTF-8 |
| 16 | 匈牙利语 | UTF-8 |
| 20 | 韩语 | UTF-8 |
| 21 | 中文 (繁体) | UTF-8 |
| 22 | 中文 (简体) | UTF-8 |
Sonic Chronicles: The Dark Brotherhood:
| 语言 ID | 语言 | 编码 |
|------------:|:----------------------|:---------|
| - | 英语 | CP-1252 |
| - | 法语 | CP-1252 |
| - | 德语 | CP-1252 |
| - | 意大利语 | CP-1252 |
| - | 西班牙语 | CP-1252 |
| - | 日语 | UTF-8 |
Dragon Age: Origins, Dragon Age II:
| 语言 ID | 语言 | 编码 |
|------------:|:----------------------|:---------|
| 0 | 英语 | UTF-16LE |
| 1 | 法语 | UTF-16LE |
| 2 | 俄语 | UTF-16LE |
| 3 | 意大利语 | UTF-16LE |
| 4 | 德语 | UTF-16LE |
| 5 | 波兰语 | UTF-16LE |
| 6 | 西班牙语 | UTF-16LE |
| 7 | 捷克语 | UTF-16LE |
| 8 | 匈牙利语 | UTF-16LE |
| 9 | 韩语 | UTF-16LE |
| 10 | 日语 | UTF-16LE |
## 链接
- [xoreos 网站](https://xoreos.org/)
- [xoreos wiki](https://wiki.xoreos.org/)
- [主源码代码库](https://github.com/xoreos/xoreos-tools)
- [所有 xoreos 代码库](https://github.com/xoreos/)
## 联系方式
如需联系我们,请发送邮件至[邮件列表](https://xoreos.org/mailman/listinfo/xoreos-devel),
或加入我们在 [Libera IRC](https://libera.chat/) 上的 IRC 频道 #xoreos。
标签:Bash脚本, 云资产清单, 数据提取, 文件转换, 游戏开发工具, 游戏引擎, 逆向工程