# GM8Decompiler GameMaker 8 游戏反编译器

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

- 类型：工具
- 目标：游戏
- 类别：游戏分析工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-02
- 原始资源：<https://github.com/OpenGMK/GM8Decompiler>
- 一手来源：<https://github.com/OpenGMK/GM8Decompiler/blob/4cf52818a303e51154e7dc0ec473a22d8c24f21e/README.org>
- 目录页面：<https://awesomerea.org/zh/resources/gm8decompiler/>
- 记录 JSON：<https://awesomerea.org/resources/gm8decompiler/record.json>
- 英文版：[English](https://awesomerea.org/resources/gm8decompiler/index.md)

## 使用条件与局限

- 审阅时最新版本为 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 全文。还原出的项目包含游戏自身的资源和代码，仍受游戏权利人的权利约束。

## 一手来源

1. <https://github.com/OpenGMK/GM8Decompiler/blob/4cf52818a303e51154e7dc0ec473a22d8c24f21e/README.org>
2. <https://github.com/OpenGMK/OpenGMK/blob/9e4282e6d19f4dd00961811840ddc3e11da6dd5a/gm8decompiler/README.md>
3. <https://github.com/OpenGMK/OpenGMK/blob/9e4282e6d19f4dd00961811840ddc3e11da6dd5a/gm8decompiler/src/main.rs>
4. <https://github.com/OpenGMK/OpenGMK/blob/9e4282e6d19f4dd00961811840ddc3e11da6dd5a/gm8decompiler/src/deobfuscate.rs>
5. <https://github.com/OpenGMK/OpenGMK/blob/9e4282e6d19f4dd00961811840ddc3e11da6dd5a/gm8decompiler/Cargo.toml>
6. <https://github.com/OpenGMK/OpenGMK/blob/9e4282e6d19f4dd00961811840ddc3e11da6dd5a/README.md>
7. <https://github.com/OpenGMK/OpenGMK/blob/9e4282e6d19f4dd00961811840ddc3e11da6dd5a/rust-toolchain.toml>
8. <https://github.com/OpenGMK/GM8Decompiler/blob/4cf52818a303e51154e7dc0ec473a22d8c24f21e/LICENCE.md>
9. <https://github.com/OpenGMK/GM8Decompiler/releases/tag/v2.2.0>

## 同分区更多条目：游戏

- [UELib Unreal 包文件解析与反编译库](https://awesomerea.org/zh/resources/uelib-unreal-package-library/index.md) · 工具
- [DiztinGUIsh Super NES ROM 反汇编工具](https://awesomerea.org/zh/resources/diztinguish/index.md) · 工具
- [Zygisk-Il2CppDumper 运行时导出 IL2CPP 元数据的 Zygisk 模块](https://awesomerea.org/zh/resources/zygisk-il2cppdumper/index.md) · 工具
- [UABEA Unity 资源包读写工具](https://awesomerea.org/zh/resources/uabea/index.md) · 工具
- [AssetStudio Unity 资源浏览与导出工具](https://awesomerea.org/zh/resources/assetstudio/index.md) · 工具
- [vgmstream 游戏音频格式解码库](https://awesomerea.org/zh/resources/vgmstream/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
