The Deobfuscator has gotten yet another update been rewritten using C# and WPF (sorry non-Windows users). The interface has been changed (hopefully for the better) and new features have been added. There are also two version Lite and Designer. Lite is a smaller file while designer looks nicer and is a littler bigger. I have done rigorous testing, bet let me know if something is wrong. Hopefully, we can add some features that didn't work very well in the old version. The links to the old versions will remain for now as well.
This program will go through a decompiled mod (zip or jar file) and replace all obfuscated names with the deobfuscated one while copying over everything else. For example, the obfuscated fields like 'field_151034_e' or 'func_130014_f_' will be replaced with the MC name APPLE and getEntityWorld, respectively (as defined by MCPBot). This can be helpful with retrieving any lost code.
The purpose of this program is to aid in the retrieval of lost source code. There are up to +33,000 obfuscated fields, params and methods and having to cross check each one by hand is impractical and time-consuming. This will do the work for you.
How to Use:
To use this program, you first need to get a decompiled version of the mod. This program does not decompile mods itself (but may do so in future versions) and will let you know if the mod you supply is not decompiled. To learn how to decompile a mod, read the How to Decompile a Mod section.
After you have your decompiled mod, press the open button and navigate to the decompiled zip or jar file and select it.
Then select the mapping by clciking the button under 'Mapping'. This will open up a Mapping picker. Then when you select the mapping you want, close the picker by either clicking the button again or anywhere else. After the mappings download, then click Start. This will prompt you to select where to save it to. After, it will run and be done.
How to Decompile a Mod:
You can use a decompiler such as ByteCodeViewer or JD-Gui, but I recommend FernFlower. More specifically, the version that Forge's modified. To build FernFlower, download and unpack the zip. Shift+Rightclick and select Open PowerShell window here and type ".\gradlew build". Once it's built, it will be in the build >> libs folder. Then follow there read me to learn about commands.
License and Distributing:
This program has all rights reserved. You may use the program for either personal or commercial use. Any linking to this forum is encouraged, however, no permission is granted to anyone to provide/host any alternative downloads, nor shrink the download link or links to this page. All links should be direct links only.
- Deobfuscate with the latest version for your target version. Then deobfuscate with each version that is below the latest until you get to the original environment. This will update the references to the most current/most recent naming conventions, which can make updating easier.
- Most of the time the code won't be a perfect match to the source. This is due to decompiling of the mod. Try using serval decompiled sources to get the most accurate code.
- You can deobfuscate a non-decompiled mod first, then decompile it.