资讯动态

gdsdecomp 实战指南:一条命令,把 Godot 游戏 PCK 反编译回可编辑项目

发布时间:2026/10/19 7:04:16 来源:尧图企业网站定制
gdsdecomp 实战指南一条命令把 Godot 游戏 PCK 反编译回可编辑项目【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp你手上只有一个游戏的 APK或者几个孤零零的 .gdc 文件Godot 编辑器里打开全是二进制——这正是 gdsdecomp 的用武之地它能反编译 .gdc 字节码回 .gd 源码从 PCK、APK 或内嵌 EXE 中恢复完整工程还能处理加密文件。读完这篇文章你能把一个死掉的打包文件变成可以直接编辑的 Godot 项目。为什么需要它一个 Godot 项目导出后等于只剩外壳脚本全是 .gdc 字节码纹理、场景变成了 .ctex、.res 这类二进制格式。丢了源码之后传统做法每一步都很磨人想反编译一个 .gdc得先手动查清它用的是哪个 Godot 版本的字节码定义项目如果还加密了你得自己写 AES-256-CFB 解密逻辑再逐个核对文件头里的 MD5更麻烦的是 2.x、3.x、4.x 的字节码格式各不相同一套工具往往只管得住一个版本。用上 gdsdecomp 之后这些步骤被压缩成一条命令--recover从 PCK、APK 或内嵌 EXE 读入资源自动匹配字节码版本解密、反编译全部脚本再把导入资源转回源格式、重建项目文件最后给你一个能直接在编辑器里打开的工程目录。快速上手装好工具跑通第一条恢复命令第一步装好可执行文件目标命令行里能直接调用 gdre_tools。 操作Windows 下用 Scoop 两行装好scoop bucket add games scoop install gdsdecomp其他平台从项目 releases 页面下载对应平台的发布版。 确认成功运行gdre_tools --headless --version能打印出工具版本号即可。第二步跑第一条恢复命令目标把一个真实的 PCK 恢复成工程。 操作gdre_tools --headless --recovergame.pck--recover后面跟 PCK、APK、EXE 或已解压的项目目录均可项目加密时追加--key64位十六进制密钥。 确认成功当前目录生成一个NAME_extracted形式的输出目录可用--outputDIR指定里面出现 .gd 文件。第三步看恢复报告验证结果目标确认脚本全部反编译成功。 操作看命令结尾输出的恢复报告或打开输出目录里的 gdre_export.log。 确认成功报告里 Decompiled scripts: N 且 Failed scripts: 0 即成功报告还会写明该用哪个版本的 Godot 编辑器打开这个项目。底层逻辑一次恢复是怎么跑完的你可以把整个过程想成给一件上了漆、打了箱的古董家具做修复开箱、鉴定、脱漆、补面、组装——每一步都对应一个明确的技术动作。开箱解包读取 PCK 的文件索引APK/EXE 则先定位内嵌的 PCK 数据区按原始路径把每个文件落盘 → 产出一份完整的原始文件集合含 .gdc 字节码和 .ctex 等二进制资源。鉴定版本识别从文件头判断项目由哪个 Godot 版本编译在内置字节码版本表参见 BYTECODE_HISTORY.md中匹配对应定义识别不出的自定义版本用--force-bytecode-version或--load-custom-bytecode显式指定 → 产出一套能读懂这批字节码的定义。脱漆解密加密项目用--key提供的 64 位十六进制密钥跑 AES-256-CFB 解密再用文件头里的 MD5 校验完整性 → 产出明文资源数据。补面反编译按字节码定义逐条还原指令重建函数、变量与字符串 → 产出可读的 .gd 源码。组装工程重建把 .ctex 等导入资源转回源格式重建导入元数据与项目配置文件 → 产出能直接拖进 Godot 编辑器打开的工程目录。三个高频任务任务一从 APK 或 PCK 完整恢复一个项目你想做什么手上有游戏 APK要拿回整个工程。 怎么做gdre_tools --headless --recovergame.apk加密项目追加--key密钥只想要脚本可以加--scripts-only省时间。 如何判断成功恢复报告里 Failed scripts: 0输出目录结构完整有项目文件和成批 .gd 文件用报告指定的 Godot 版本打开无大面积报错。任务二反编译单个加密的 .gdc 文件你想做什么只有一两个 .gdc不想动整个工程。 怎么做gdre_tools --headless --decompilemain.gdc --bytecode4.3.0--bytecode接引擎版本号或提交哈希如f3f05dc必须和文件实际的编译版本一致加密文件同样追加--key。 如何判断成功.gdc 旁边生成同名 .gd默认输出在源文件同目录可用--output指定打开后函数结构、常量值都正常。任务三先列文件再按需提取 PCK 内容你想做什么不确定 PCK 里有什么或者只要其中一部分资源。 怎么做gdre_tools --headless --list-filesgame.pck gdre_tools --headless --extractgame.pck --includeres://**/*.gdc--include支持递归通配符**模式以res://为根不写前缀时默认挂到res://下。 如何判断成功第一条命令打印出完整文件清单后直接退出第二条命令只在输出目录里生成匹配的文件。⚠️ 不工作的时候加密文件解不开现象恢复或提取时报 MD5 校验错误、解密失败文件内容全是乱码。原因--key必须正好是 64 位十六进制字符串密钥在游戏里可能被二次变换你拿到的值不等于实际使用的值也可能是非标准加密方案。怎么办先确认游戏是否使用 Godot 标准加密且密钥无误确认是自定义加密后按 自定义解密脚本文档 写解密脚本通过--custom-decryption-script参数传入。字节码版本不识别或反编译出乱码现象--decompile报版本不支持或能出文件但函数结构错乱。原因Godot 不同版本字节码格式不同未指定--bytecode或指定了和文件不匹配的版本。怎么办先运行gdre_tools --headless --list-bytecode-versions查可用版本再用--bytecode版本或提交哈希显式指定引擎是魔改版时改用--force-bytecode-version或--load-custom-bytecode加载自定义 JSON 定义。恢复后工程在编辑器里大面积报错现象恢复成功了但用 Godot 打开后脚本和资源大量报错。原因编辑器版本和原游戏编译版本不一致或该资源属于当前未支持的转换如 2.x 模型、GDNative/GDExtension 脚本见 README 的 Limitations。怎么办打开输出目录下的 gdre_export.log恢复报告顶部会写明路径找到 Use Godot editor version X to edit the project 一行换到对应版本的 Godot 再打开报告里标为 Not converted / Lossy 的资源就是当前版本尚未实现转换的格式。小结回到开头那个场景手里的 APK 和孤立的 .gdc 不再是死文件——--recover还你一个可编辑的工程--decompile还你一段可读的源码。gdsdecomp 的字节码版本表还在随引擎版本持续扩充遇到识别不了的新版本带上 gdre_export.log 去提个 issue 就行或者现在就挑一个你手边的 PCK跑一遍第一条命令试试。【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑