Until recently, you needed to use a Java decompiler and all of them were either unstable, obsolete, unfinished, or in the best case all of the above. And, if not, then they were commercial. The obsoleteness was typically proved by the fact that they can only decompile JDK 1.3 bytecode.
The only so-so working solution was to take the .class file and pre-process it, so it becomes JDK 1.3 compatible, and then run Jad over it (one of those older, but better decompilers).
But recently, a new wave of decompilers has forayed onto the market: Procyon, CFR, JD, Fernflower, Krakatau, Candle.
Here's a list of decompilers presented on this site:
Author: Lee Benfield
Very well-updated decompiler! CFR is able to decompile modern Java features - Java 9 modules, Java 8 lambdas, Java 7 String switches etc.
It'll even make a decent go of turning class files from other JVM langauges back into java!
Author: Emmanuel Dupuy
Updated in 2015. Has its own visual interface and plugins to Eclipse and IntelliJ . Written in C++, so very fast. Supports Java 5.
Author: Mike Strobel
Updated in 2015. Handles language enhancements from Java 5 and beyond, up to Java 8, including:
Author: Egor Ushakov
Updated in 2015. Very promising analytical Java decompiler, now becomes an integral part of IntelliJ 14. (https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler)
Supports Java up to version 6 (Annotations, generics, enums)
Author: Pavel Kouznetsov
Probably, this is the most popular Java decompiler, but primarily of this age only. Written in C++, so very fast.
A useful application that was designed to provide a fast Java decompiler and reduce the time and energy you spend on your projects What's new in JD-GUI 1.6.6: Minor update on configuration parsing. CFR is a JVM bytecode decompiler - it will decompile modern Java features (including Java 13) but is written entirely in Java 6, so will work anywhere! - It'll even make a decent go of turning class files from other JVM languages (eg Kotlin, Scala, Groovy) back into Java! The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions. JD-Core is a library that reconstructs Java source code from one or more “.class” files. Best of the bestest bennie k zip. Driver smart modular technologies flash card. Can you get microsoft word on a macbook. JD-Core may be used to recover lost source code and explore the source of Java runtime libraries.
The only so-so working solution was to take the .class file and pre-process it, so it becomes JDK 1.3 compatible, and then run Jad over it (one of those older, but better decompilers).
But recently, a new wave of decompilers has forayed onto the market: Procyon, CFR, JD, Fernflower, Krakatau, Candle.
Here's a list of decompilers presented on this site:
CFR
Free, no source-code available, http://www.benf.org/other/cfr/Author: Lee Benfield
Very well-updated decompiler! CFR is able to decompile modern Java features - Java 9 modules, Java 8 lambdas, Java 7 String switches etc.
It'll even make a decent go of turning class files from other JVM langauges back into java!
JD
free for non-commercial use only, http://jd.benow.ca/Author: Emmanuel Dupuy
Updated in 2015. Has its own visual interface and plugins to Eclipse and IntelliJ . Written in C++, so very fast. Supports Java 5.
Procyon
open-source, https://bitbucket.org/mstrobel/procyon/wiki/Java%20DecompilerAuthor: Mike Strobel
Updated in 2015. Handles language enhancements from Java 5 and beyond, up to Java 8, including:
- Enum declarations
- Enum and String switch statements
- Local classes (both anonymous and named)
- Annotations
- Java 8 Lambdas and method references (i.e., the :: operator).
- Java 7 is required to run.
Fernflower
open-source, https://github.com/fesh0r/fernflowerAuthor: Egor Ushakov
Updated in 2015. Very promising analytical Java decompiler, now becomes an integral part of IntelliJ 14. (https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler)
Supports Java up to version 6 (Annotations, generics, enums)
Best Java Decompilers
JAD
given here only for historical reason. Free, no source-code available, jad download mirrorAuthor: Pavel Kouznetsov
Probably, this is the most popular Java decompiler, but primarily of this age only. Written in C++, so very fast.