☰
Godot RE Tools:如何从编译后的 PCK 文件里完整恢复你的 Godot 项目
2026/10/18 3:03:36 网站建设 项目流程

Godot RE Tools:如何从编译后的 PCK 文件里完整恢复你的 Godot 项目

【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp

PCK(Godot 的资源打包格式)文件还在,原始工程目录却找不到了。用 Godot RE Tools,你可以把包里的编译脚本反编译出来,再把整个 Godot 项目还原成可编辑、可运行的样子。

一张表看懂:它到底能做什么

手里只有编译产物、却想要一个能打开的工程时,中间这些环节它都包了。

功能模块一句话说明典型使用场景
PCK/APK/EXE 解析把打包产物里的全部文件和资源分离出来手上只有游戏发布包
GDScript 批量反编译把 .gdc 字节码(编译后的脚本格式)转回可读的 .gd 源码找回丢失的脚本源码
资源批量转换把二进制资源(.ctex、.oggvorbisstr 等)转回原始格式让纹理和音频在编辑器里可用
项目重构重建 project.godot、插件配置与导入元数据还原的项目直接进编辑器

整条链路是动词链:解析包体得到文件,反编译字节码得到源码,转换资源得到可用素材,重构工程得到能打开的项目。

实战上手:从装好到跑通

拿三个真实场景过一遍,跟着做就能跑通。

快速恢复单个项目(最常用路径)

手上只有一个 PCK、APK 或 EXE,想直接拿到可编辑的工程,就走这条路。

图形界面里选 RE Tools → Recover project…,或者把文件直接拖进窗口;命令行等价写法:

gdre_tools --headless --recover=game.pck

跑完会生成输出目录(默认以文件名命名)。工程加密时再加--key=<64位十六进制密钥>。

批量反编译与内容提取

不想做完整恢复,只想拿部分脚本,或者先看看包里有什么时用。

gdre_tools --headless --decompile="*.gdc" --bytecode=4.3.0

只想解包用--extract=game.pck;只看清单用--list-files=game.pck,不会动到任何资源。

自定义配置:密钥、版本与过滤规则

PCK 加密、或者项目用的特殊引擎版本导致反编译对不上号时,用这组参数。

  • --key=<64位十六进制>指定解密密钥;
  • --force-bytecode-version=<版本号或提交哈希>强制指定字节码版本;
  • --include/--exclude配合 glob(通配模式)规则控制哪些文件参与恢复,--scripts-only则只处理脚本。

⚠️ 从源码编译的话,要把仓库克隆进 Godot 的 modules 目录(git clone https://gitcode.com/GitHub_Trending/gd/gdsdecomp),并装好 rustup 和 .NET 10 SDK;恢复出来的项目要用与原游戏相同版本的 Godot 编辑器打开,日志里会写明检测到的版本。

深入一层:版本兼容是怎么做的

为什么一个工具能反编译从 2.x 到 4.x 的项目?

关键在于字节码层的版本适配:内置了 2.1 到 4.x 各版本的反编译定义,反编译器按检测到的版本选用对应操作码表,检测错了就用--force-bytecode-version覆盖。

gdre_tools --headless --list-bytecode-versions
  • 项目用魔改引擎构建时,可用--dump-bytecode-versions=<目录>把全部定义导出为 JSON,改好后再用--load-custom-bytecode=<JSON文件>载入;
  • 游戏没用标准加密方案时,写一个继承CustomDecryptor的 GDScript 脚本,再用--custom-decryption-script指定,完整流程见 docs/custom_decryptors.md;
  • 翻译恢复时用--translation-hint提供密钥映射文件(.csv、.txt、.po、.mo),恢复出的翻译文本会更好认。

用之前必看:这些边界要知道

动手之前,先说清楚这个工具能做什么、不能做什么。

✅ 完成后先看恢复报告:反编译了哪些脚本、转换了多少资源、建议用哪个 Godot 版本打开工程,都写在里面。

⚠️ 不是所有资源都能转换:2.x 模型(dae、fbx、glb 等)和 GDNative/GDExtension 脚本目前不支持,对应的文件恢复后仍保持二进制形态。

✅ 恢复出的工程要用与原游戏相同版本的 Godot 编辑器打开;如果脚本大量报错,拿原游戏的二进制当导出模板重新导出再试。

✅ 只对你有合法权利的项目或学习研究用途使用它,分发的解密脚本里也别写死真实的密钥。

编译产物进,可编辑工程出,这就是 Godot RE Tools 给你的最短路径。先拿一个小的测试 PCK 跑一遍,用恢复报告里的数字检验结果。工具归工具,恢复和研究的对象记得是你能碰的项目。

【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询