MCMapper is a tool designed to utilize obfuscation map provided by Mojang. Now with GUI version to simplifies the process.
- mapped output jar file is fully functional
- mapping process blazing fast as it's heavily multithreaded
- support most snapshot version, fresh from Mojang API
EXPERIMENTAL BUILD: BUGS ARE EXPECTED
About a year ago, I was looking for a deobfuscator that actually works. Although there's some out there that can deobfuscate it for you, the deobfuscated jar file is broken and not executable.
Usage
0. Start MCMapperGUI.jar
1.
Select version of jar file from the GUI, List of all versions are automatically updated from Mojang's API
2.
Click "Build"
The mapping process should be done in less than a minute on modern computer. But decompilation process is done by Fernflower and is expected to be slow.
Building process
1. Download JSON file of the selected version
2. Download java archive file
(can be found at ./data/binary.jar)
3. Download mapping file
(can be found at ./data/map.txt)
4. Running MCMapper CLI in the background
(output to ./data/binary-mapped.jar)
5. Strip libraries for decompilation process
(output to ./data/binary-mapped-stripped.jar)
6. Decompile stripped down jar with Fernflower
(output to ./decompiled/binary-mapped-stripped.jar)
What all the output files are?
./data/binary.jar - java archive file, downloaded from Mojang
./data/map.txt - mapping file, downloaded from Mojang
./data/binary-mapped.jar - mapped java archive file, in case of server, this file should also be executable
./data/binary-mapped-stripped.jar - stripped down version of jar file, libraries will be missing and is not executable
./decompiled/binary-mapped-stripped.jar - source code archive, can be extract with any zip program to access .java file
Note: MCMapper (CLI) and
Fernflower by JetBrains is included in a ready-to-use zip file