This is the old source code (circa 2011) for the GameMaker 8.1 decompiler.Source expanded on from the original GameMaker 8.0 decompiler with the new (now old) Gmk library replacing the original GMK serialization library.
May 28, 2019 It's no news that bytecode is by definition more decompile-able than native code, moreso with common stack-based virtual machines - as the code unrolls into instructions somewhat predictably, the process is also reversible - so long as someone is willing to sit through and write matchers for all possible instruction patterns. GM Editor (or Game Maker Editor) is a software that helps you edit the data.win (the file that contains the data of games made with Game Maker which is a game engine). There is a project saving/opening system so you don't have to open the file and folder manually each time.
Usage
To use the decompiler you simply drag an GM8.1 or GM8.0 executable onto the Decompiler icon and the decompilation process will begin. If no GMK is created, execute the decompiler from the command line 'decompiler ', it should tell you what's wrong.
Future development
This was the original public release of the GameMaker 8.1 decompiler, uploaded now to keep in sync with the style of the new x2048 website. There are a few bugs in this version that have purposely been left in indefinitely because they act as a backdoor to prevent decompilation of some games, this technique has been passed on to developers who come to make asking how to protect their games. These may be fixed if I decide to continue development.Of course, the decompiler is licensed under MIT so anyone else is free to find and fix these bugs themselves and circulate a modified decompiler.
License
The GameMaker 8.1 decompiler is licensed under The MIT License (MIT), which has been distributed with the source under the file 'LICENSE'.
原项目来源于GitLab : https://gitlab.com/PoroCYon/Altar.NET
GameMaker: Studio data.win
unpacker and decompiler (non-YYC, specifically made for Undertale), based on libaltar and Mirrawrs' data site (followed by my corrections/completions here and here).
Contains a lot of pointer-littered spaghetti code, because it's basically a continuation of libaltar, but in C#.
I'm not sure if this counts as 'redistribution of modified [libaltar] source', but including their notice just in case.
Building
Decompile Game Maker Mac Torrent
You can build it from within Visual Studio (or MonoDevelop, or SharpDevelop, ...), or from the command-line:
(NOTE: use msbuild
on Windows, xbuild
otherwise)
(NOTE: using the Debug
configuration emits debug code, use Release
for an optimized binary.)
(NOTE: the binary can be found at <repo-dir>/bin/<config>/altar.exe
, it has all its dependencies merged into it. For a binary with separate DLLs for the dependencies, use the one in <repo-dir>/Altar.NET/bin/<config>/altar.exe
.)
Usage
(NOTE: use ./altar
if it is not added to your %PATH%
yet, but resides in the current dir. Not applicable to CMD
(but you shouldn't be using that).)
(NOTE: use mono altar.exe <args...>
on mono (should be obvious).)
Decompile Unity Game
Verbs:
export
: export parts from adata.win
file. Options:-[gonsbpiformtacduwh]* --absolute --project --file --out
file
: Path to thedata.win
file to export.out
: The output directory.project
: Emit a project file that can be recompiled by Altar.NET (In a later version, this is currently not implemented or anything.).gonsbpiformtacduwh
: Select which parts of thedata.win
should be exported. Runaltar export --help
for more info.absolute
: Display absolute instruction offsets in decompiled/disassembled code, instead of relative to the first instruction.
API
Decompile Game Maker Mac Os X
To read a data.win
file: