news 2026/10/19 1:53:43

GDRE Tools 实战指南:从 PCK 到可运行 Godot 项目的完整恢复

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GDRE Tools 实战指南:从 PCK 到可运行 Godot 项目的完整恢复

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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 1:53:43

UVR5 人声分离:一首歌拆出人声与伴奏的 5 步操作教程

UVR5 人声分离&#xff1a;一首歌拆出人声与伴奏的 5 步操作教程 【免费下载链接】ultimatevocalremovergui GUI for a Vocal Remover that uses Deep Neural Networks. 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 翻唱投稿总被提示&q…

作者头像 李华
网站建设 2026/10/19 1:53:05

BT 下载慢?用每日更新的公共 Tracker 列表把节点连接补满

BT 下载慢&#xff1f;用每日更新的公共 Tracker 列表把节点连接补满 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 晚上到家点开下载任务&#xff0c;进度条几乎不动。打…

作者头像 李华
网站建设 2026/10/19 1:53:05

LinkSwift 网盘直链下载上手指南:装一次脚本,IDM 与 Aria2 都能接管

LinkSwift 网盘直链下载上手指南&#xff1a;装一次脚本&#xff0c;IDM 与 Aria2 都能接管 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云…

作者头像 李华
网站建设 2026/10/19 1:52:37

Helicon:为Muse CLI打造跨平台桌面终端,提升多模态AI编码体验

Helicon 这个项目&#xff0c;我在 Hacker News 上挂出来的时候&#xff0c;标题写的是“给 Meta 的 Muse CLI 套个壳”。结果没想到&#xff0c;回帖里讨论最热烈的不是“套壳”这件事本身&#xff0c;而是“Muse 到底是干嘛的”和“为什么有人会愿意专门做个桌面端来包一个命…

作者头像 李华
网站建设 2026/10/19 1:52:03

路径解析逻辑漏洞原理与实战:从规范化差异到鉴权绕过

1. 这不是普通的路径穿越&#xff1a;先聊聊“标准化”这个坑做安全测试和接口开发的朋友&#xff0c;大概率都遇到过这种场景&#xff1a;明明鉴权中间件已经做了过滤&#xff0c;但改个编码、加个斜杠、补个点号&#xff0c;请求居然就绕过限制打到后端了。很多人第一反应是“…

作者头像 李华
网站建设 2026/10/19 1:51:25

NPU数据流设计:HBM、DMA与多bank Shared Memory协同优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华