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 :).
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.