工具

GM8Decompiler GameMaker 8 游戏反编译器

命令行工具,可把用 GameMaker 8.0 或 8.1 构建的游戏还原为可编辑的 .gmk 或 .gm81 项目文件。它读取已构建可执行文件中与运行器(runner)并存的 gamedata 部分,按游戏版本对应的项目格式写出其中的设置、精灵、声音、背景、路径、脚本、字体、时间线、对象、房间、扩展、附带文件以及 GML 代码。该工具基于 OpenGMK 项目的 gm8exe 库用 Rust 重写,取代了团队此前对 WastedMeerkat 的 gm81decompiler 的分支,现与重新实现 GameMaker 运行器的 GM8Emulator 一同在 OpenGMK 仓库中开发。

目标
游戏
类别
游戏分析工具
关联
基础工具
来源复核于

使用条件与局限

  • 审阅时最新版本为 v2.2.0,于 2024-02-12 发布,提供 i686 和 x86_64 的 Windows MSVC 构建。其标签指向 2022 年 1 月的一个提交,该提交使本仓库只剩 README 和许可证,因为开发已迁至 OpenGMK,而发布版本仍在本仓库提供。发布说明列出:Rust 从 1.59 升级到 1.76、修复由 gm82 写出的可执行文件的问题,以及支持 810 和 811 房间格式;OpenGMK 中的 gm8decompiler crate 同为 2.2.0 版,之后的提交只提高了 Rust 版本并更新依赖。
  • 从源码构建使用 OpenGMK 的 Cargo 工作区:连同子模块克隆后执行 cargo build --release,会同时构建 GM8Emulator。rust-toolchain.toml 将 Rust 固定为 1.77 以保留对 Windows 7 的支持;OpenGMK README 称 Windows 上只支持 MSVC 目标,并因发布版本很少更新而建议自行构建。反编译器 crate 没有测试,两个仓库在所审阅的提交中也都没有 CI 工作流。
  • 输入为使用者自行提供的 GameMaker 8.0 或 8.1 游戏可执行文件;两个仓库都不含任何游戏。用法为 gm8decompiler FILENAME:-o 指定输出文件,否则沿用输入路径并按检测到的版本使用 .gmk 或 .gm81 扩展名;-l 关闭数据完整性检查;-s 以单线程反编译以降低内存占用;-p 保留损坏的自定义 Execute Code 动作,而不将其转换为标准动作;-d 设置对经 Schreib's GM Obfuscator 处理的 GML 代码的去混淆,默认的 auto 模式会在资源名称为空时启用去混淆。
  • README 称 Rust 版加载器比旧的 gm81decompiler 分支快十倍以上,也更安全、更全面,能读取更多游戏;这些是项目自述,项目未公布逐个游戏的兼容性列表或输出校验。依据 Cargo.toml 采用 GPL-2.0-only 许可,LICENCE.md 收录 GPL v2 全文。还原出的项目包含游戏自身的资源和代码,仍受游戏权利人的权利约束。本次未构建或运行任何内容,也未反编译任何游戏;所审来源未确立与 REA 的关联。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.org GitHub · OpenGMK/GM8Decompiler · 修订 4cf5281
  2. gm8decompiler/README.md GitHub · OpenGMK/OpenGMK · 修订 9e4282e
  3. gm8decompiler/src/main.rs GitHub · OpenGMK/OpenGMK · 修订 9e4282e
  4. gm8decompiler/src/deobfuscate.rs GitHub · OpenGMK/OpenGMK · 修订 9e4282e
  5. gm8decompiler/Cargo.toml GitHub · OpenGMK/OpenGMK · 修订 9e4282e
  6. README.md GitHub · OpenGMK/OpenGMK · 修订 9e4282e
  7. rust-toolchain.toml GitHub · OpenGMK/OpenGMK · 修订 9e4282e
  8. LICENCE.md GitHub · OpenGMK/GM8Decompiler · 修订 4cf5281
  9. https://github.com/OpenGMK/GM8Decompiler/releases/tag/v2.2.0

同分区更多条目:游戏

游戏分区全部 252 项资源