☰
GDRE Tools 从 0 到 1:Godot 项目逆向恢复与 GDScript 反编译完整指南
2026/10/18 3:55:34 网站建设 项目流程

GDRE Tools 从 0 到 1:Godot 项目逆向恢复与 GDScript 反编译完整指南

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

源码丢了只剩编译产物?别急,GDRE Tools 就是干这个的:它能把 Godot 打包出来的 PCK、APK 甚至 EXE 还原成可以直接在编辑器里打开的完整工程——GDScript 脚本反编译回.gd、资源转回原始导入格式、project.godot也一并重建。工具覆盖 Godot 2.x / 3.x / 4.x 三代项目,加密文件也能处理。读完这篇,你能用一条命令把游戏 PCK 变回可编辑的工程。

什么情况下你会需要它

你遇到过这些情况吗?

  • 项目源码误删或没存档,手上只剩导出的.pck文件,想尽量把 GDScript 脚本救回来
  • 想拆解一款 Godot 游戏的实现思路来学习,但只能看到编译后的字节码(.gdc)
  • 游戏用了加密 PCK,常规解包工具打不开,得靠带--key参数的专业工具

这里有个关键区别:普通解包只给你一堆二进制文件,而 GDRE Tools 会把资源转回编辑器能直接打开的格式,重建依赖关系和工程配置。

5 分钟跑起来:安装编译与第一次恢复

环境依赖一行带过:Python 3.8+、SCons,源码编译还需要rustup和.NET 10 SDK。

方式一:源码集成到 Godot 编译

  1. 把仓库 clone 到 Godot 源码的modules目录下,目录名必须是gdsdecomp(注意:需要配合官方要求的 Godot fork 的gdre-wb-f964fa714f5分支):
git clone https://gitcode.com/GitHub_Trending/gd/gdsdecomp modules/gdsdecomp
  1. 在 Godot 根目录编译(Linux 示例):
scons platform=linuxbsd target=template_debug
  1. 用 standalone 模式跑第一次恢复,把 PCK 丢给它:
bin/godot.linuxbsd.template_debug.x86_64.llvm --headless \ --path=modules/gdsdecomp/standalone \ --recover=/path/to/game.pck

✅ 跑通的标志:输出目录<NAME>_extracted(或你--output指定的目录)里出现完整工程结构,恢复日志末尾会打印检测到的 Godot 引擎版本——用同版本的 Godot 打开这个目录就能继续编辑了。

方式二:GUI 用法。集成模块后的编辑器里,选 "RE Tools" → "Recover project...",也可以直接把 PCK/EXE 拖进窗口。Windows 用户还可以直接scoop install gdsdecomp装 release 版。

它到底怎么干活的:核心模块速览

模块干什么关键能力
文件解析器解包 PCK/APK/EXE 并解密标准 AES 加密 + 自定义解密脚本
字节码反编译器.gdc转回.gd源码内置 2.x–4.x 全量字节码定义
资源转换器文本/二进制资源互转--txt-to-bin/--bin-to-txt
PCK 工具创建与修补 PCK--pck-create/--pck-patch
项目重构器还原工程文件与导入资源重建project.godot与插件配置

整体流程就是:解析打包文件 → 提取资源 → 反编译脚本 → 重建工程。版本适配基本不用你操心,工具会自己识别字节码版本;识别错了用--force-bytecode-version=4.3.0强制指定,遇到特殊版本还能--load-custom-bytecode加载自定义 JSON,各版本定义演进可以看 BYTECODE_HISTORY.md。

进阶技巧:选择性恢复与 PCK 操作

如果你需要更精细的控制,展开下面查看进阶用法。

只恢复脚本 + glob 过滤

--scripts-only只处理脚本,配合--include缩小范围(glob 以res://为根,**表示递归):

gdre_tools --headless --recover=game.pck \ --scripts-only --include="res://scripts/**/*.gdc"
自定义字节码与加密处理

非标准字节码版本传--load-custom-bytecode=custom.json;加密项目传 64 位十六进制密钥--key=...。游戏用了非标准加密方案的,参考 自定义解密器指南 写一个CustomDecryptor脚本。

创建和修补 PCK
gdre_tools --headless --pck-create=/path/to/dir \ --pck-version=2 --pck-engine-version=4.3.0 --output=game.pck

--pck-patch可以把改好的文件打回原 PCK,做 mod 时很实用。

注意事项与合规提醒

⚠️ 只在自己拥有的项目或明确允许的研究场景下使用,别用它绕过商业游戏的保护去牟利。

用游戏原始编译版本的 Godot 打开恢复出的工程(恢复日志会写明检测到的版本),跨大版本打开容易出兼容问题。

已知局限:2.x 的模型文件(dae、fbx、glb)和 GDNative/GDExtension 脚本暂不支持转换,恢复后可能需要手动补。

GDRE Tools 把"编译产物 → 可编辑工程"这条最难走的路打通了,源码丢失或想拆解别人架构的开发者都值得先试一把。找个 PCK,把上面的命令跑一遍,看看能救回多少东西。

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

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

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

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

立即咨询