
gdsdecomp把 Godot 的 PCK、EXE、APK 还原成可编辑的 GDScript 源码【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp你手上可能只有一个发行包——APK、EXE 或 .pck 文件想改一行 GDScript 却发现里面全是 .gdc 字节码普通编辑器打不开也读不懂。gdsdecomp 是专门做 Godot 逆向工程的开源工具从 PCK、EXE、APK 三种容器做完整项目还原把编译后的字节码反编译回可编辑的 .gd 源码同时支持 Godot 4.x、3.x、2.x 三代项目。预检gdsdecomp 运行前的检查清单先确认你的机器和文件都在支持范围内免得白忙一场项目要求运行方式从官方 release 下载对应平台的打包版本Windows 用户也可以走 Scoop 安装输入文件Godot 游戏的 .pck / .apk / .exe或已解包的项目目录加密项目需要一个 64 位十六进制密钥--key传入密钥本身的获取不在工具支持范围内目标项目版本Godot 4.x / 3.x / 2.x 的 GDScript 项目均可反编译从源码编译需要 rustup、dotnet 10 sdk且要基于项目维护的特定 Godot 分支构建引擎如果输入文件是魔改过加密方案的非标准包预检时就要心里有数这种情况需要额外写自定义解密脚本后文再进一步一节有入口。首次运行5 步完成 Godot PCK 完整还原第一次建议直接走 GUI流程很短安装 release 版本。Windows 用户可以用scoop bucket add games加scoop install gdsdecomp两行搞定把 .pck / .exe / .apk 直接拖进应用窗口或从 RE Tools 菜单选 Recover project...打开文件选择对话框在弹出的 PCK explorer 里浏览文件清单Options 里勾选 Full Recovery指定 Destination folder点 Extract 开始还原加密项目要先到 Set Encryption Key 菜单填入密钥结束后阅读 Recovery report检测到的引擎版本、反编译了几个脚本、多少资源转换成功全在这里先跑起来看看第一个项目就算失败也别慌——报告里的失败项就是下一步的排查方向。一个高频坑还原完成后要用报告里检测到的那个 Godot 版本打开项目版本对不上会冒出一堆资源导入错误。场景实战从还原到回写的三条主线从 APK 完整还原一个 Godot 项目发行包到可编辑项目这是最短路径。拖入 .apkPCK explorer 自动解析出内嵌资源和 PCK 版本信息Options 选 Full Recovery不是 Extract only确认输出目录运行还原等报告输出用检测到的 Godot 版本打开输出目录逐一检查脚本、场景和插件配置是否完整窍门大项目可以先加--scripts-only或--include只还原脚本部分验证能跑通再全量处理省掉反复等待的时间。批量反编译 .gdc 字节码脚本不想动整个项目只想把某个目录的脚本抠出来看确定游戏对应的引擎版本字符串如 4.3.0或 commit hash命令行执行gdre_tools --headless --decompilexxx.gdc --bytecode4.3.0参数支持 glob 批量匹配反编译出的 .gd 文件写入--output指定目录不指定则输出到原位置窍门版本拿不准时先跑一次完整还原报告里会写明检测到的版本也可以--list-bytecode-versions列出全部受支持的字节码版本完整演进历史见 BYTECODE_HISTORY.md。修改后回写把改动塞回 PCK逆向的终点不是看到源码而是改完还能用。用--decompile把要改的 .gdc 转成 .gd修改逻辑用--compile把改过的 .gd 编回 .gdc同样要--bytecode--pck-patch指定补丁文件和输出 PCK可选--embed把 PCK 重新嵌回 EXE换到文本资源时.tres与.res之间可以直接用--txt-to-bin/--bin-to-txt互转窍门只改多语言文本的话直接用--patch-translations传一份 CSV 映射文件比手动替换每个 .tres 干净得多。避坑速查常用参数与常见报错遇到的问题处理方式字节码版本对不上--bytecode传 commit hash 或版本号还原时可用--force-bytecode-version强制指定MD5 校验和报错--ignore-checksum-errors忽略错误继续或--skip-checksum-check直接跳过检查加密项目解不开--key传 64 位 hex 密钥确认密钥没错但仍失败才考虑写自定义解密脚本glob 匹配不到预期文件include/exclude 以res://为根*.gdc这种带通配符且不含目录的写法会自动按递归处理还原后打开项目大量报错用还原日志检测到的 Godot 版本打开疑似自定义 Godot 分支时拿原游戏二进制当导出模板C# 项目反编译传--csharp-assembly指定程序集路径不传则尝试从 PCK 路径自动检测说句实话它做不好的事2.x 项目的模型文件dae、fbx、glb 等目前没有转换支持GDNative 和 GDExtension 写的脚本不在反编译范围内只能原样提取加密密钥怎么挖完全靠你自己工具只负责拿到 key 之后怎么解反编译出的代码能编译能运行但命名和结构与原版未必逐字一致别指望拿到和源码仓库一模一样的文件魔改 Godot 分支的检测还不完善报告里会提示遇到大量未识别资源就得自己上手逆向再进一步CLI 与自定义解密脚本GUI 能做的事命令行全覆盖而且更适合写脚本批量跑--list-files只列清单不动手、--pck-create从目录凭空造一个 PCK、--extract只做解包不做还原。最小闭环一行命令gdre_tools --headless --recovergame.pck --outputgame_restored遇到非标准加密方案时读一读 自定义解密脚本指南用 Godot 4.5 的 GDScript 继承CustomDecryptor类实现_parse_and_decrypt()即可接管解密流程标准 AES-256-CFB 方案的参考实现在 docs/gdre_standard_encryption.gd。想参与开发或改核心逻辑源码直接克隆到 Godot 的 modules 目录下参与引擎构建。怎么开始4 步走完还原到回写闭环拿一个练手文件——tests/test_projects/exported/ 里就存着一批测试工程导出的 PCK不用先去找真实游戏对其中一个小包跑一次 Full Recovery通读 Recovery report搞清检测到的版本和失败项分别意味着什么挑一个 .gdc 单独用 CLI 反编译对比报告里的脚本统计体会--bytecode参数怎么影响结果试着改一行脚本、--compile再--pck-patch写回完整走一遍还原 → 修改 → 回写逆向工具的价值不在还原率本身而在于它把只剩二进制的项目重新拉回到可维护的状态——从此以后每一点小修改都不必再等原作者回头。【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考