提取 IoStore 已烘焙资源
本教程适用于 Content/Paks 中含有 .ucas、.utoc 和 .pak 文件的游戏,介绍使用 retoc 或 ZenTools 提取传统格式的 .uasset 和 .uexp。
FModel 可以打开并导出 IoStore 容器,但原教程指出其导出的资源不能用于 UAssetGUI,可通过十六进制编辑修改。若工具需要传统烘焙格式,可尝试以下方法。
使用 retoc
retoc 可以打包、解包 IoStore 容器,并转换 Zen 与传统资源。原教程认为它通常更快、更可靠,建议首先尝试 retoc,如有问题再尝试 ZenTools。
从发布页下载适合系统的版本。Windows 用户也可使用页面提供的 PowerShell 脚本。进入 retoc.exe 所在目录并打开终端,运行 retoc.exe --help 查看命令;使用 to-legacy 将 IoStore 格式转换为可供 UAssetGUI 编辑的传统烘焙资源。
大型游戏建议使用 --filter 限定转换范围,例如 --filter "/Content/MainFolder/saving-loading/customization/progress"。加密游戏可用 --aes-key 指定密钥,查找方法见 AES 密钥教程。
原教程还提供了 retoc 与 UAssetGUI 视频教程。
使用 ZenTools:UE5
ZenTools 有不同引擎版本:UE5 版本适用于原教程所列的 UE 5.1–5.4;UE4 请使用 ZenTools UE4。
从 ZenTools 发布页下载 ZenTools.exe。如需报告错误,原文建议也下载 .pdb 文件,便于维护者分析输出。不要双击运行:这是命令行工具,直接双击可能使窗口一闪而过。在工作目录打开命令提示符,例如在文件管理器地址栏输入 cmd 或从右键菜单打开终端,再参照项目用法输入命令。
UE 5.1 需要 -ZenPackageVersion=Initial;加密游戏通过 -AES= 指定密钥。含空格的路径需用引号括起来。可使用 -PackageFilter 缩小提取范围,目录可以通过 FModel 查看。
ZenTools.exe ExtractPackages "Path to UE5.1 game/Content/Paks" "Output directory" -ZenPackageVersion=Initial
ZenTools.exe ExtractPackages "Path to UE5.1 game/Content/Paks" "Output directory" -ZenPackageVersion=Initial -AES=0x12345678
ZenTools.exe ExtractPackages "Path to UE5.2 game/Content/Paks" "Output directory" -AES=0x12345678
ZenTools.exe ExtractPackages "Path to game/Content/Paks" "Output directory" -PackageFilter=/Game/Content/Blueprints/Weapons
重新打包可参考打包已烘焙资源。
使用 ZenTools:UE4
从 ZenTools UE4 发布页下载安装。加密游戏不使用 -Aes=,而是提供 keys.json:
{
"00000000-0000-0000-0000-000000000000": "DEADBEEFCAFEDEADBEEFCAFEDEADBEEFCAFEDEADBEEFCAFEDEADBEEFCAFEDEAD"
}
keys.json 中的 AES 密钥不能以 0x 开头。含空格的路径需要引号;大型游戏可使用 -PackageFilter 限定目录。
ZenTools.exe ExtractPackages "Path to UE4 game/Content/Paks" "Output directory" -EncryptionKeys="Path to keys.json"
ZenTools.exe ExtractPackages "Path to UE4 game/Content/Paks" "Output directory"
ZenTools.exe ExtractPackages "Path to game/Content/Paks" "Output directory" -PackageFilter=/Game/Content/Blueprints/Enemies
重新打包同样可参考打包指南。