Where Can I find Java Decompiler?
IdeaJad lets you decompile Java jars or classes from IntelliJIdea 3.0.x & 4.x using Pavel Kouznetsov's decompiler JAD. The plugin offers support for Windows, Linux and MacOSX. It's open source and free.
Decompilation can be initiated manually through the context menu, or simply by navigating to a class file (e.g. CTRL-Click on a class or method name). Additionally, the built-in line sorter tries to re-arrange the decompiled class so that the decompiled source code line numbers match those of the original source code. This is quite useful for debugging.
CafeBabe (JDK1.1.x + Swing 1.1 or JDK1.2). This program will say you all about contents of complied code for JVM. It works as a graphical disassembler and displays full information about any sort of information enclosed in bytecode: field, methods, attributes, exceptions, synthetic members, method body, additional information inside code and so on. While virtual machine misses unknown attributes, CafeBabe displays all of them.
Main features of CafeBabe project are:
- program represents bytecodes "as is" - following the class file format specification: magic number, minor and major version, constant pool, access flags, this class, super class, interfaces, fields, methods and class attributes;
- program can read class files directly from archive (*.zip or *.jar) and it interprets them as directories, thereby you can travel inside archive for selecting desired file;
- program contains abilities for searching string inside bytecode;
- user can edit information inside constant pool (UTF8-string);
- ability to remove some optional information from bytecodes: inside methods body, source file attribute, unknown attributes;
- ability to perform migration of bytecodes disposed inside package from old to new namespace;
- ability to perform obfuscation of bytecodes disposed inside packages;
- ability to show/hide partitions of classfile.
- user can use this program as a tutorial - tooltips will explain to user what each byte (short, integer) inside bytecode means;
- user can quickly change its own location among installed classes and observe hierarchy tree (see Class-Hound Service);
Cavaj Java Decompiler
Cavaj Java Decompiler is a graphical freeware utility that reconstructs java source code from CLASS files. You can decompile java applets, jar and zip files producing accurate java source code. Browse the reconstructed source code with the Class View for instant access to methods and fields.
Cavaj Java Decompiler is Windows 95/98/ME/NT/2000/XP compatible. Cavaj Java Decompiler is a standalone Windows application, it doesn't require you to have Java installed.
Download URL: http://www.bysoft.se/sureshot/cavaj/
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.
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.
Download URL: http://www.kpdus.com/jad.html
DJ Java Decompiler
DJ Java Decompiler is
- a Windows decompiler and disassembler for Java that reconstructs the original source code from the compiled binary CLASS files (for example Java applets).
- able to decompile complex Java applets and binaries, producing accurate source code.
- a stand-alone Windows application. It doesn't require having Java installed.
- a fully featured Java editor using the graphic user interface with syntax-coloring.
Download URL: http://members.fortunecity.com/neshkov/dj.html
ClassCracker 3 is the ultimate Java decompiler! It is three applications in one:
- A Java decompiler that retrieves Java source code from Java class files;
- A Java disassembler that produces JVM (Java Virtual Machine) bytecode; and
- A Java class file viewer that displays Java class file structures.
ClassCracker 3 works with the latest version of Java 2 - version 1.4.0 - and also with the previous Java 2 versions 1.3.0 and above.
ClassCracker 3 runs on WINDOWS and LINUX (requires Java 2 to be installed).
Download URL: http://mayon.actewagl.net.au/index.html
Have you ever lost the source code to a Java program and thought there was no way to get your code back? Well fret no longer, HomeBrew Decompiler to the rescue! It's still far from perfect, but hopefully it will be able to provide enough for you to reconstruct your lost source file.
Download URL: http://pdr.cx/projects/hbd/
JODE is a java package containing a decompiler and an optimizer for java. This package is freely available under the GNU GPL. The bytecode package and the core decompiler is now under GNU Lesser General Public License, so you can integrate it in your project.
The decompiler reads in class files and produces something similar to the original java file. Of course this can't be perfect: There is no way to produce the comments or the names of local variables (except when compiled with debuging) and there are often more ways to write the same thing. However, JODE does its job quite well.
The optimizer transforms class files in various ways with can be controlled by a script file. It supports the following operations:
- Renaming class, method, field and local names to shorter, obfuscated, or unique names or according to a given translation table
- Removing debugging information
- Removing dead code (classes, fields, methods) and constant fields
- Optimizing local variable allocation
Download URL: http://jode.sourceforge.net/
JReversePro is a Java Decompiler / Disassembler written entirely in Java. This reverse engineering utility is issued under the GNU GPL (see license). The utlimate objective of this project is to provide a decompiler that generates a Java object-based structure that can be programmatically inspected using a specific API.
- The software is written 100 % in Java which implies you can seamlessly integrate your java applications with this.
- The .class files could be disassembled to examine the JVM bytecode.
- Command-line version now has the option to view constant pool.
- Three flavours of the software - namely the Swing-based, AWT-based and the command-line based UI are available all with the same decompiling engine for people with different needs.
- The contents of the ConstantPool could be examined as a dialog in the Swing-flavour.
- Command-line version now has the option to view constant pool. Please see FAQ for more details regarding the same.
Jshrink is a Java obfuscator that extracts the minimal set of class files for an application, removes unused code and data, obfuscates symbolic names, finalizes code for optimized execution, and stores the results in a Java jar file.
Jshrink typically reduces program size by 30-40%. Jshrink obfuscated code is much harder to comprehend when decompiled, a claim that can be readily verified using Jshrink's built-in Java decompiler. Jshrink can also create Windows executable files from Java jar files. Jshrink processes Java class files from all Java versions.
Download URL: http://www.e-t.com/jshrink.html
SourceAgain is the world's leading decompiler for Java class files. Unlike previous attempts at decompilation technology, SourceAgain is able to correctly analyze and decompile even the most complex Java control flow, producing correct, re-compilable Java almost every time.
SourceAgain supports Java 2 and later versions of the JDK including JDK1.3.x.
Download URL: http://www.ahpah.com/product.html
Most Recent java Faqs
- How to uncompress a file in the gzip format?
- How to make a gzip file in Java?
- How to use Java String.split method to split a string by dot?
- How to validate URL in Java?
- How to schedule a job in Java?
- How to return the content in the correct encoding from a servlet?
- What is the difference between JDK and JRE?
Most Viewed java Faqs
- How to read input from console (keyboard) in Java?
- How to Retrieve Multiple Result Sets from a Stored Procedure in JDBC?
- How to Use Updatable ResultSet in JDBC?
- What are class variables in Java?
- What are local variables in Java?
- How to Use JDBC Java to Create Table?
- Why final variable in Enhanced for Loop does not act final?