Jad - the fast JAva Decompiler
Jad is a Java decompiler, i.e. program that reads one or more Java class files and converts them into Java source files which can be compiled again.
Jad is a 100% pure C++ program and it generally works several times faster than decompilers written in Java.
Jad doesn't use the Java runtime for its functioning, therefore no special setup is required (like changes to the CLASSPATH variable).
Jad can be used:
* for recovering lost source codes;
* for exploring the sources of Java runtime libraries;
* as a Java disassembler;
* as a Java source code cleaner and beautifier. just kidding
Jad expects that supplied Java class files are valid ones, i.e. they can pass the Java Virtual Machine (JVM) verification successfully.
The Jad main features:
* Enhanced readability of the generated source code.
* Ability to comment Java source code with JVM bytecodes. Useful for verification and educational purposes.
* Full support for inner and anonymous classes.
* Fast decompilation and simple setup.
* Automatic conversion of identifiers garbled by Java obfuscators into valid ones.
* Free for non-commercial use. If you would like to use Jad for commercial purposes, please contact me for conditions.
NOTE: Jad is free for non-commercial use, but since the version 1.5.6 it's no longer free for commercial use. This means that Jad cannot be included into software products (especially decompilers) without my prior permission. If you want to use Jad (as a command-line utility or as a library) in your product(s) please contact me for conditions. At the same time, Jad can be used freely for personal needs in a commercial or non-commercial environments.