MBINCompiler
MBINCompiler is a tool created by monkeyman192 (with additional contributors) that decompiles (deserializes) MBIN files into EXML files and likewise can recompile them back to MBIN.
Each version of MBINCompiler is customized for each version of No Man's Sky, as the game executable contains all the needed information to decompile MBIN files and this changes in each update. The current version of MBINCompiler is available on github.
MBINCompiler.retro
MBINCompiler.retro is a fork of monkeyman192's MBINCompiler that targets the legacy No Man's Sky builds from a single binary, selecting the game version at runtime. One executable handles the Release Candidate (the PS4 disc / launch build), 1.09.1, 1.13, 1.24 and 1.38, so you no longer need a separate MBINCompiler for each old version.
It adds:
- Version autodetection plus a
--nms-versionflag to pick the build (rc1, 1.09.1, 1.13, 1.24 or 1.38). - A
dumplayoutcommand that exports every struct's memory layout (name, type, offset and size) as JSON.
The four PC builds round-trip byte-perfect, and the RC1 (PS4 disc) definitions are derived per struct from the disc data and the PS4 game executable.
Download the latest release from GitHub: MBINCompiler.retro on GitHub. It requires the .NET 6 (or newer) Windows Desktop runtime.
Legacy versions
For legacy versions of No Man's Sky you can download an archive that contains all versions up to 1.38 below.
| Download MBINCompiler Archive |
Credits
MBINCompiler was originally created by Emoose and has been maintained and greatly extended by monkeyman192 together with the many MBINCompiler contributors. MBINCompiler.retro builds directly on their work (the rc1 branch) to reach the legacy builds. Enormous thanks to all of them.