首页 / 资讯中心 / 文章详情

gdsdecomp:Godot 逆向工程与 GDScript 反编译工具实操手册

gdsdecomp:Godot 逆向工程与 GDScript 反编译工具实操手册 ★ FEATURED ARTICLE
gdsdecompGodot 逆向工程与 GDScript 反编译工具实操手册【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp手上只有一个发布版游戏的 .pck 或 .apk却想看它里面的 GDScript 逻辑gdsdecompGodot RE Tools干的就是这件事拆包、批量反编译 .gdc 字节码、把资源转回源格式最后给你一份能直接用编辑器打开的项目目录。30秒搞懂 gdsdecomp 能做什么如果你用普通解包工具拆过 Godot 项目的 PCK应该见过那种结果一堆 .gdc 二进制、.stex 纹理、.import 元数据散落一地编辑器打不开一个。gdsdecomp 把这一步接过去识别包内文件、反编译脚本、重拼 project 文件和导入元数据。从 PCK/APK/EXE 中还原完整项目完整恢复Full Recovery会连续做六件事提取资源、反编译全部 GDScript、恢复 project 文件、把导入资源转回原始导入格式、把二进制资源转回文本格式、重建插件配置文件。输入可以是 .pck、.apk、独立 EXE甚至已经拆出来的目录。把 .gdc 批量反编译成可读 GDScript反编译器把编译后的 .gdc 字节码转回文本GUI 里带左右对照视图左边是反编译代码方便和注释版本逐行核对编译时被重命名的逻辑。支持 Godot 2.x、3.x、4.x 三个世代的 GDScript 项目。自动适配多版本字节码每个引擎版本的字节码布局都不同仓库内置了 59 套字节码版本定义BYTECODE_HISTORY.md 有完整版本对照表覆盖从 1 到 101 的演进。自动检测不准时可以用--force-bytecode-version强制指定版本也能加载自定义 JSON 定义。最快跑通一次项目恢复五步全部走通不超过十分钟拿到可用构建。推荐直接用官方 release 二进制想自己编译的话把仓库克隆到 Godot 引擎源码的 modules 目录需 rustup 和 .NET 10 SDKgit clone https://gitcode.com/GitHub_Trending/gd/gdsdecomp modules/gdsdecomp编译 template 版编辑器scons platformlinuxbsd targettemplate_debug命令行无头恢复bin/godot.linuxbsd.template_debug.x86_64.llvm --headless --pathmodules/gdsdecomp/standalone --recovergame.pckGUI 用户打开带模块的编辑器选 RE Tools → Recover project...或直接把 PCK/EXE 拖进窗口在文件树里选 Full Recovery指定输出目录即可。打开输出目录看恢复报告再用报告提示的编辑器版本验证。⚠️ 注意两个版本号要对齐——编辑器版本用恢复日志里标出的那个字节码版本必须匹配项目原始编译的引擎版本否则反编译出来的脚本会满屏报错。进阶玩法与命令对照常见需求直接查表要处理的事对应命令/参数只恢复某个目录的脚本--recovergame.pck --includeres://scripts/**/*.gdc --scripts-onlyPCK 带加密追加--key64位hex密钥自动识别的字节码版本不对--force-bytecode-version4.3.0也接受 commit hash文本/二进制格式互转--txt-to-binscene.tscn或--bin-to-txtscene.res把目录打回 PCK--pck-createdir --pck-version2 --pck-engine-version4.3.0往 PCK 里打补丁换文件--pck-patchgame.pck --patch-file/path/a.gdres://a.gd按目录批量恢复脚本glob 规则默认以res://为根**表示递归只写*.gdc不带路径等价于res://**/*.gdc即匹配全部脚本。想砍掉不需要的部分配合--exclude即可gdre_tools --recovergame.pck --include*.gdc --excluderes://addons/** --scripts-only加载自定义字节码定义遇到罕见引擎版本时先用--dump-bytecode-versionsdir把内置定义导出成 JSON 看看结构改完另存再用--load-custom-bytecodejson加载进本次会话。定义格式可以参考bytecode/目录和misc/下的模板文件。处理自定义加密的 PCK标准 Godot 加密AES-256-CFB 等只需要--key。如果游戏用了自研加密需要写一个继承CustomDecryptor的解密脚本实现_parse_and_decrypt()方法完整教程在 docs/custom_decryptors.md仓库里附了标准加密的示例脚本。3步确认恢复质量看恢复报告反编译脚本数、失败数、导入资源的转换统计Converted / Lossy / Not converted都在这。出现 Not converted: N 时报告末尾会直接列出原因。用对应版本打开报告第一行就告诉你该用哪个编辑器版本例如 Use Godot editor version 3.4。若打开后非导入类错误很多可以按报告提示改用原游戏二进制作为导出模板。跑一遍功能打开主场景确认脚本和着色器无报错再跑一遍核心玩法流程。实际用得最多的三类场景自己丢失源码的抢救、教学时拆解商业游戏实现、旧 2.x/3.x 项目格式迁移前的预处理。合规与使用边界能力边界先说清楚2.x 时代的模型文件dae/fbx/glb 等和 GDNative/GDExtension 脚本目前还没有转换支持依赖这两块的项目需要手动补救。⚠️ 该工具适用于恢复自己丢失的源码以及学习、研究场景下对你有权处理的工程做反编译分析。处理他人商业游戏前请确认拥有合法授权分发解密脚本时不要内嵌密钥等秘密信息。【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站