A tool for deobfuscation of Java bytecode
- Download Enigma
Enigma is currently Backburner'd!
This means I'm not actively working on this project any more, but all the sources are still open. Anyone is weclome to contribute to the project.
These things might happen if someone contributes to the project, but I don't have time to do them myself anymore.
Still want me to work on them? Give me more free time by financially supporting developent via .
- Fix bugs reported in Enigma and release v1.0
- Add usability features to make deobfuscating easier
Enigma mappings for Minecraft
Enigma is currently being used to deobfuscate the Minecraft v1.8.3 client.
These mappings are being collected and managed using an Open Source philosophy on BitBucket. All of the mappings are freely available under a premissive Creative Commons license. You can you use these mappings for any purpose without asking permission, but please abide by the terms of the Minecraft EULA. Let's stay white-hat here, folks.
Each version of the mappings lives in its own branch. To download the mappings for a certain version of Minecraft, navigate to that branch on BitBucket and then download the .mappings file.
Contributing to the mappings
We manage the mappings file using the Mercurial repository on BitBucket and anyone is welcome to contribute. I tried to find a way to make the repo writable by anyone, but there doesn't seem to be an option for that on BitBucket. I suppose that could be a security issue. If you want to push to the repo, just send me a request with your BitBucket account name, and I'll give you write access. The goal is to let anyone contribute mappings if they want to.
Before you start a deobfuscating session, make sure you've pulled the latest mappings from the repo. When you're done, merge/push your changes back to the repo. The file format I've chosen for the mappings is a human-readable line-by-line text format, so hopefully Mercurial will be a useful tool for synchronizing the mappings. We'll see how this works. =)
A word of caution: keep each commit short and don't spend too long working on it. If you build up your commit over several days, it is likely that other contributors will have made commits during that time. When you're ready to push your changes, you may find it difficult to deal with the resulting merge conflicts.
Leave comments and join the discussion in the Minecraft-osphere.
Enigma is Open Source on
Enigma is powered by the exceptional Procyon Java decompiler which is also open source.