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 MBINCompiler.retro below. It requires the .NET 6 (or newer) Windows Desktop runtime.
| Download MBINCompiler.retro |
MBINCompiler Archive
For old versions of MBINCompiler which support more intermediate versions of No Man's Sky (but are a lot older than the MBINCompiler.retro build) you can download this zip.
| 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.