JAVA decompiler collections

JAVA decompiler collections

Posted by figo on November 24, 2015

Procyon

open-source, see more
Author: 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.

CFR

Free, no source-code available, see more
Author: Lee Benfield
Updated in 2015. CFR is able to decompile modern Java features - Java 8 lambdas (pre and post Java beta 103 changes), Java 7 String switches etc, but is written entirely in Java 6.

JD

Free for non-commercial use only, see more
Author: Emmanuel Dupuy
Updated in 2014. Has its own visual interface and plugins to Eclipse and IntelliJ . Written in C++, so very fast. Supports Java 5.

Fernflower

open-source, see more
Author: Egor Ushakov
Updated in 2015. Very promising analytical Java decompiler, now becomes an integral part of IntelliJ 14. (see more)
Supports Java up to version 6 (Annotations, generics, enums)

Krakatau

open-source, see more
Author: Robert Grosse
written in Python, includes a robust verifier. It focuses on translating arbitrary byte code into valid Java code, as opposed to reconstructing the original code.

Candle

open-source, see more
Author: Brad Davis
developer of JBoss Cake, is an early but promising work in progress.

JAD

given here only for historical reason. Free, no source-code available, jad download mirror
Author: Pavel Kouznetsov
Probably, this is the most popular Java decompiler, but primarily of this age only. Written in C++, so very fast. Outdated, unsupported and does not decompile correctly Java 5 and later.

Jadx

Android application package (APK) is the package file format used to distribute and install application software onto Google’s Android operating system.
This site uses perfect open-source APK and DEX decompiler called Jadx, see more
Jadx decompiles .class and .jar files, but also it produces Java source code from Android Dex and Apk files.

ClassyShark

open-source, see more
Author: Boris Farber
ClassyShark is a standalone tool for Android developers. It can reliably browse any Android executable and show important info such as class interfaces and members, dex counts and dependencies.
The browser supports multiple formats including libraries (.dex, .aar, .so), executables (.apk, .jar, .class) and AndroidManifest (.xml).

Bytecode Viewer

A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More) see more

Enjarify

Enjarify is a tool for translating Dalvik bytecode to equivalent Java bytecode. This allows Java analysis tools to analyze Android applications. see more

Please, use it only for legitimate purposes.

References

Decompilers online