GDRE Tools 实战指南:从 PCK 到可运行 Godot 项目的完整恢复
【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp
GDRE Tools 是一款 Godot 逆向工程工具,能完成 GDScript 反编译和 PCK 资源恢复,把编译好的 PCK、APK 或 EXE 还原成可直接用编辑器打开的项目。它的最大价值:源码丢了,项目照样能找回来。
第一次上手:三步完成首个恢复
不需要先啃完源码。想编译自己构建,把仓库克隆到 Godot 的modules子目录并命名为gdsdecomp,再按 README.md 重新构建引擎即可;一般场景直接下载 release 版本就能用。
🔧第一步:拿到工具
git clone https://gitcode.com/GitHub_Trending/gd/gdsdecomp🔧第二步:发起恢复。GUI 版在菜单栏选 "RE Tools" → "Recover project..." 选择目标文件,也可以直接把 PCK 或 EXE 拖进窗口。命令行则运行 standalone 入口:
bin/godot.linuxbsd.template_debug.x86_64.llvm --headless \ --path=modules/gdsdecomp/standalone --recover=game.pck🔧第三步:核对结果。输出目录里是可恢复的项目,恢复报告会写明该用哪个 Godot 版本打开、反编译了几个脚本、转换了几个资源。建议用与原游戏相同的引擎版本打开项目,日志里会标注检测到的版本。
核心能力拆解
GDScript 反编译:输入 .gdc,输出 .gd
输入是 PCK 里的.gdc字节码,输出是可读的.gd源码:常量、函数结构、变量声明都能还原,PCK 浏览器里还能并排对照原始与反编译代码。原理是按引擎版本匹配字节码指令定义——工具内置了 2.1 到 4.5 的完整字节码定义,自动识别 PCK 里的版本再解码,定义文件在 bytecode/ 目录。
资源提取与格式转换:输入打包文件,输出分类资源
输入不限于 PCK,APK 和内嵌资源的可执行文件同样支持。输出按用途分成四类,转换关系如下:
| 输入 | 输出 |
|---|---|
| .pck / .apk / 内嵌 EXE | 解包后的全部项目文件 |
| 二进制 .res 场景或资源 | 文本格式 .tres |
| 已导入的纹理、字体、音频 | 原始格式(.png、.fnt、.wav 等) |
| .gdc 字节码 | 反编译后的 .gd 源码 |
多版本适配:兼容哪些 Godot 版本
反编译支持 Godot 2.x、3.x、4.x 三代项目。输入可以是 commit hash(如f3f05dc)或版本号(如4.3.0),对应输出该版本的正确解码结果:--list-bytecode-versions列出全部内置版本,--force-bytecode-version强制指定,--load-custom-bytecode=<JSON>加载自定义定义,应对定制引擎。
项目重构:输入提取文件,输出可打开的项目目录
完整恢复不止于抽文件:它还原project.godot、重建插件配置、把二进制资源转回文本格式,让项目在对应版本编辑器里打开时尽量减少导入错误。恢复报告里每一项转换都有统计,没转成功的文件会逐条列出原因。
进阶用法(选读)
命令行参数、自定义字节码、过滤与批量处理
统一形式为gdre_tools --headless <主命令> [选项]。常用主命令:--recover(完整恢复)、--extract(仅提取)、--decompile(单个 GDC 反编译,可重复、支持 glob)、--pck-create(创建 PCK)、--pck-patch(用指定文件修补 PCK)、--bin-to-txt/--txt-to-bin(格式互转)。
关键选项:
--key=<64位hex>:加密 PCK 的密钥--scripts-only:只提取脚本--include/--exclude:glob 过滤,需以res://或user://为根,**表示递归--ignore-checksum-errors:忽略 MD5 校验错误
只恢复某个目录下的脚本,可组合过滤与密钥参数:
gdre_tools --headless --recover=game.pck \ --include="res://**/*.gdc" --key=<64位hex>自定义字节码定义与 PCK 创建:
gdre_tools --headless --dump-bytecode-versions=./defs gdre_tools --headless --pck-create=project_dir \ --pck-version=2 --pck-engine-version=4.3.0加密文件处理与自定义解密器的实现方式,见 docs/custom_decryptors.md。
适用场景与合规边界
个人项目源码找回:自己早期导出的游戏,原目录丢了但还留着 PCK 或 APK。跑一次完整恢复,.gd源码、导入资源源文件和项目配置都能回来,用同版本引擎接着开发。
教学与分析:反编译一个开源或自己编译的示例游戏,看物理控制器、资源组织是怎么写的。PCK 浏览器的对照视图适合边讲边演示,学生能直观看到字节码与源码的对应关系。
⚠️ 合规边界:该工具只应用于个人项目恢复、开源示例学习和经授权的逆向研究。反编译商业游戏并传播其中的代码或资源构成侵权,使用前请确认你对目标文件拥有合法权利,尊重原作者的知识产权。
恢复不等于无损还原,报告里标出的未转换项就是接下来的工作清单——照着提示补齐即可。
【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考