gdsdecomp 实战指南:5 分钟从 PCK、APK、EXE 恢复完整 Godot 项目
gdsdecomp 实战指南5 分钟从 PCK、APK、EXE 恢复完整 Godot 项目【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecompgdsdecomp 是一套 Godot 逆向工程工具集把打包后的游戏文件还原成可编辑的源码项目。它面向的读者是 Godot 开发者手里只有.pck、.apk或嵌入式.exe时用它完成脚本反编译、资源还原和二次打包。工具内置了 Godot 2.x 到 4.x 各分支的字节码解析器恢复日志还会自动检测并告知你原始游戏所用的引擎版本。安装与第一条命令有三种获取方式下载最新 release 二进制通用方式Windows 用户还可通过 Scoop 安装scoop install gdsdecomp从源码编译把仓库克隆到 Godot 的modules/子目录克隆地址https://gitcode.com/GitHub_Trending/gd/gdsdecomp按 Godot 官方编译文档重新构建引擎。构建需要 rustup 和 .NET SDK仓库自带独立运行入口源码构建后可用bin/godot.*.template_debug.x86_64 --headless --pathstandalone直接执行拿到可执行文件后先跑一条探测命令确认工具可用gdre_tools --headless --list-filesgame.pck预期结果终端输出该 PCK 包内所有资源的相对路径列表然后退出。这条命令不写任何文件是检查输入文件是否合法的最快方式。五大核心能力按使用频率从高到低完整项目恢复--recover。一步完成从 APK/PCK/EXE 加载资源 → 反编译全部 GDScript → 恢复project.godot→ 把导入资源转回原始导入格式 → 把自动转成的二进制资源还原为文本格式 → 重建插件配置文件。批量反编译/编译--decompile/--compile。.gdc字节码文件与.gd源码互相转换支持 glob 和重复传参。PCK 提取与创建--extract/--pck-create。提取即把包内文件按原路径落地创建则从目录反向打包可嵌入可执行文件。资源格式转换--txt-to-bin/--bin-to-txt。场景和资源文件在文本与二进制格式之间互转。翻译补丁--patch-translations。用 CSV 文件替换包内指定语言路径的翻译可单独使用也可与--pck-patch组合。图形界面同样覆盖这些能力在 Godot 编辑器中加载该模块后从 RE Tools 菜单选择 Recover project...或者直接把 PCK/EXE 拖进应用窗口即可。典型任务一恢复一个完整项目目的只有一份game.apk想要可编辑的完整项目。命令gdre_tools --headless --recovergame.apk --outputrecovered如果项目加密追加密钥参数64 字符十六进制字符串gdre_tools --headless --recovergame.apk --key000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F --outputrecovered预期结果recovered目录下出现完整的 Godot 项目结构脚本以.gd文本形式存在导入资源回到原始格式。日志中会打印检测到的引擎版本。注意点恢复出的项目请用与日志中检测到的相同 Godot 版本打开跨版本打开容易出现资源加载差异。只需脚本时可加--scripts-only跳过资源处理。大型包可用--include/--exclude限定范围glob 以res://为根*.gdc这类无目录通配会被自动视为递归匹配等价于res://**/*.gdc。界面操作时选文件对话框长这样支持多文件拖选典型任务二批量反编译字节码目的只想处理散落的.gdc文件不走完整恢复流程。命令# 指定引擎版本反编译单个文件 gdre_tools --headless --decompilescript.gdc --bytecode4.3.0 # 批量反编译目录内所有 .gdc输出到指定目录 gdre_tools --headless --decompile**/*.gdc --bytecode4.3.0 --outputdecompiled--bytecode接受版本字符串如4.3.0或字节码修订的 commit hash如f3f05dc。如果自动检测不可靠用--force-bytecode-version强制指定或用--list-bytecode-versions先查看所有受支持的版本。--compile是反向操作把.gd编译为字节码供回归测试使用。注意点Godot 4.0 到 4.2 时代 GDScript 编译模式尚未实装4.3 才引入字节码 1004.5 升级为 101这些版本的导出项目里通常只有文本脚本没有.gdc可反编译。完整的版本对照表见 BYTECODE_HISTORY.md。典型任务三修改并重新打包 PCK目的改了某个脚本想直接塞回游戏包而不重走完整构建。命令# 用本地文件替换包内指定资源 gdre_tools --headless --pck-patchgame.pck --patch-file/path/to/main.gdres://main.gd --outputpatched.pck # 从目录创建新 PCK格式版本 0/1/2需指定引擎版本 gdre_tools --headless --pck-createproj_dir --pck-version2 --pck-engine-version4.2.2 --outputgame.pck # 创建后直接嵌入可执行文件 gdre_tools --headless --pck-createproj_dir --pck-version2 --pck-engine-version4.2.2 --embedgodot.exe --outputpacked.exe--pck-patch同样支持--include/--exclude过滤原始包内容--key用于解密输入包和加密输出包。排障清单现象原因解决解密报错 / MD5 校验失败密钥不对是最常见原因少数游戏改用了非标准加密先核对--key是否为正确的 64 位十六进制串确认游戏确实不是标准加密方案后参考 docs/custom_decryptors.md 编写CustomDecryptor脚本通过--custom-decryption-script传入提示不支持的字节码版本自动检测失败或版本过新--list-bytecode-versions查看支持列表--force-bytecode-version4.5.0强制指定或用--load-custom-bytecodexx.json加载自定义定义--dump-bytecode-versions可导出全部现有定义作模板恢复出的项目打开异常编辑器版本与游戏构建版本不一致按恢复日志中打印的检测版本用同版本 Godot 打开提取时大量校验错误包内文件与记录不匹配确认可信后加--ignore-checksum-errors跳过错误或--skip-checksum-check完全跳过检查C# 项目恢复不完整C# 程序集需要单独处理提供--csharp-assemblypath.dll未指定时会尝试从 PCK 路径自动检测模型/原生扩展无法还原已知限制见下节属工具当前边界无法通过参数解决已知边界与进阶建议明确不支持Godot 2.x 的 3D 模型dae、fbx、glb等尚无格式转换GDNative / GDExtension 脚本不能反编译。遇到这两类资源时恢复流程会跳过不要指望参数绕过。版本兼容恢复日志中的引擎版本信息是最权威的依据后续所有编辑、二次打包的--pck-engine-version都应向它对齐。大项目策略先用--list-files摸清包内容再用--include分片恢复例如先res://**/*.gdc只处理脚本确认无误后对资源分区再跑比一次全量恢复更容易定位失败点。--translation-hint可配合翻译恢复用已有.csv/.po文件补全翻译 key。字节码维护新引擎版本出现字节码变更时bytecode_generator.py 可自动化生成新的解析器定义仓库 tests/test_projects/exported/ 下按 2.1 到 4.5.1 各版本各留了一份真实导出项目改完解析逻辑可用它们回归验证。C# 反编译部分基于 godot-mono-decomp/ 子项目实现。下一步选一份你手头最小的 PCK跑--list-files确认工具链再执行--recover走通完整流程。用恢复日志里检测到的版本在对应 Godot 中打开恢复结果逐项核对脚本与资源。如果项目加密且标准密钥无效按 docs/custom_decryptors.md 的类接口写一个自定义解密脚本接入。【免费下载链接】gdsdecompGodot reverse engineering tools项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

PyQt5+Keras手写数字识别GUI实战:3分钟部署毕设级MNIST应用

PyQt5+Keras手写数字识别GUI实战:3分钟部署毕设级MNIST应用

简介:本资源是一份面向计算机专业本科生及毕业设计学习者的高分实战项目,基于卷积神经网络(CNN)在MNIST数据集上实现手写数字识别,并集成图形化界面(GUI),完整覆盖模型构建、训练、评…

2026/10/18 5:01:37 阅读更多 →
镜像视界空间计算:如何突破视频孪生的算力天花板?

镜像视界空间计算:如何突破视频孪生的算力天花板?

不废话,直接聊正题。这几年做安防可视化、港口数字化的项目,我最大的一个感受是:视频孪生这个概念已经快被说烂了,但真正能扛住生产环境的算力需求、能把“实景视频”变成“可计算空间”的方案,市面上并不多见。屏幕上…

2026/10/18 5:01:37 阅读更多 →
从零手写GUI Agent:感知、决策、执行三行代码实现界面自动化

从零手写GUI Agent:感知、决策、执行三行代码实现界面自动化

GUI Agent这东西,说到底是给大模型装上一双眼睛和一只手,让它能看着屏幕、分析当前界面,再像人一样点击按钮、输入文字,把一件具体任务办完。最近我一直在折腾怎么从0到1手搓一个最小可用的GUI Agent,试过各种现成框架…

2026/10/18 5:01:37 阅读更多 →

最新新闻

Linux iSCSI Target实战:用targetcli配置块级网络存储

Linux iSCSI Target实战:用targetcli配置块级网络存储

1. 为什么今天还要学iSCSI?——当本地磁盘开始“远程打工”很多人看到“iSCSI”三个字母,第一反应是:“这玩意儿不是2005年就该淘汰了吗?现在不都用NVMe over Fabrics、Ceph或者云盘API了?”我第一次在某高校实验室接手…

2026/10/18 5:53:46 阅读更多 →
微信小程序传染病防控系统实战:源码拆解与Docker一键部署

微信小程序传染病防控系统实战:源码拆解与Docker一键部署

做这类“传染病防控”小程序最怕什么?不是功能写不出来,而是做出来之后没人敢用、没人认账。疫情信息涉及健康隐私,用错一个字段、漏传一次数据,都可能引发合规和信任问题。我自己前后做过几套类似的课题和项目,从“单…

2026/10/18 5:53:45 阅读更多 →
Spring Boot项目部署到阿里云CentOS 7服务器全流程指南

Spring Boot项目部署到阿里云CentOS 7服务器全流程指南

本地跑得好好的,一部署到服务器就各种问题:端口不通、进程没了、日志找不到、数据库连不上。这套“本地能跑”和“服务器能跑”之间的差距,几乎每一个做过Java后端的人都在某个深夜体会过。今天这篇就用一台阿里云CentOS 7服务器把Spring Boo…

2026/10/18 5:53:45 阅读更多 →
OpenCode 限流报错全解析:三层限流机制、日志定位与修复实战

OpenCode 限流报错全解析:三层限流机制、日志定位与修复实战

1. 限流报错背后的真实逻辑1.1 这个报错到底在说什么Rate limit exceeded这个报错,字面意思就是"请求速率超出限制"。但很多人第一次看到它的时候会懵——我明明没发多少请求,怎么就超了?这里要先厘清一个概念:限流&…

2026/10/18 5:53:45 阅读更多 →
Java基础考点验证:缓存池、String池与值传递实战解析

Java基础考点验证:缓存池、String池与值传递实战解析

简介:GitHub 上标星 115k 的 Java 教程 PDF,是一份面向 Java 入门与进阶学习者的系统性基础文档,覆盖数据类型与包装类型缓存池、String 不可变设计、运算与值传递、final/static 关键字、Object 通用方法、继承访问权限、反射、异常、泛型、…

2026/10/18 5:53:45 阅读更多 →
浅谈OpenCV均值滤波的实现原理

浅谈OpenCV均值滤波的实现原理

1.滤波、核和卷积基础知识滤波,简单来说就是按照某种规则,用周围的数据来重新计算当前数据,从而改变信号或图像的特征。在图像处理中,图像可以看成一张二维的数字表格,每个格子是一个像素。滤波就是拿一个小窗口在图像…

2026/10/18 5:52:45 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/16 14:23:36 阅读更多 →