The libNOM
label is a collection of .NET class libraries originally developed
and used in NomNom, the most complete savegame
editor for No Man's Sky.
libNOM.map
can be used to obfuscate and deobfuscate the JSON save file content.
The mapping can be accessed through a single static class and each functionality is just a simple call.
Not only the latest mapping is supported but also legacy keys that are gone in a game version after Beyond 2.11. It is also possible to download an updated mapping file from the latest MBINCompiler release. It will be downloaded to download/mapping.json (if no other path is set) and automatically used if present.
The obfuscation and deobfuscation is done in-place. Deobfuscation will return a set of unknown keys.
// Deobfuscate
HashSet<string> unknownKeys = Mapping.Deobfuscate(jsonObject);
// Obfuscate
Mapping.Obfuscate(jsonObject);
Create and update settings.
// Settings
Mapping.Settings = new() { Download = "download" };
Update by downloading a newer version of the mapping file.
// Update
Mapping.Update();
Mapping.UpdateAsync();
This project is licensed under the GNU GPLv3 license - see the LICENSE file for details.
- Christian Engelhardt (zencq) - GitHub
Thanks to the following people for their help in one way or another.
- monkeyman192 - Maintaining MBINCompiler and creating up-to-date mapping files
- Newtonsoft.Json - Handle JSON objects
- Octokit - Query MBINCompiler release information