How to deobfuscate jar file using mapping.txt generated by Proguard?

If you have the mappings then you can get every class, field, and method name back.You can use java-asm (A bytecode modification library) to remap the class and member names. Most of the work will be updating member descriptors.

I made one for myself and it took about a day to get it working reliably.

Edit: It's not perfect, but it's pretty darn close. Link. Screenshot of the GUI Give it a proguarded jar file, the mappings and it'll rename all it can find. There's a few issues but for just looking at the source it should do the job. Just dump the jar it makes (FileName + "-Re.jar") into a decompiler such as Luyten/JD-GUI. Also the file inputs are only changed via the buttons. The textboxes are just for visual-feedback/confirmation.

Edit 2: Fixed NPE occurring when class entry in mappings doesn't exist in the given jar.

Edit 3: Fixed a lot of issues resulting in methods not being renamed.

Edit 4: Uploaded compiled jar to github (releases, in the zip file it's in the mapping util), added support for multiple mapping types.


I suggest to use proguard tool as suggested in above answer along with Enigma. The solution for your problem can't be very straightforward and you need to use a combination of available tools to resolve it.