visit  jclazz Online
News
29 May, 2009: online decompiling service's opened jclazz.dyndns.org
30 April, 2009: jclazz 1.2.2 Release is available
Release Info
jclazz 1.2.2
Links
JVM specification
Alex Kalinovsky - Covert Java
janel project
Friends
WebEqua
jclazz is a crossplatform powerful Java bytecode viewer and decompiler.
It supports latest Java versions (from 1.4 till 1.6).
It can be used both as command line tool and user application with Swing interface.
  • InfoJ can be used to generate information about Java class. The output includes all possible data that can be extracted from class file: fields, methods, attributes, access flags, signatures, debug information, opcodes etc.
  • Decompiler can be used to reproduce Java source code from compiled Java class file. It uses debug information to produce Java code which is nearly the same as original source file. Nevertheless, there are several restrictions and Java code constructions that prevent decompiler from producing the same code as original and even correct Java code. You can find out more about these cases below on this page.
  • jclazz-GUI is user-friendly interface for quick start and easy to use.
Some screenshots here will demonstrate jclazz in use.

A brief HOW-TO use jclazz

What do you need to use jclazz.
  • a. Download jclazz binary
  • b. Download and install JRE version 1.4 or greater (if you don't already have), try this
  • c. Set up JAVA_HOME environment variable or appropriate PATH environment variable, where java executable can be found (optional, if you want to use scripts for launching jclazz)
How to launch jclazz. There are several ways to do this.
  • a. jclazz-GUI can be launched by double clicking on jclazz-gui.jar file (if jar files are associated with java in your system)
  • b. use .sh (on Linux) or .cmd (on Windows) scripts to launch InfoJ, Decompiler or jclazz-GUI
  • c. on Windows you can use native executable 'jclazz.exe' to launch jclazz-GUI
  • d. execute Java classes as usual. Main classes for InfoJ and decompiler are ru.andrew.jclazz.core.infoj.InfoJ and ru.andrew.jclazz.decompiler.ClassDecompiler
Hope this is not difficult :).
After you successfully launched jclazz it should work without any errors. However this can happen sometimes. Even if everything works fine you may notice that decompiled code is incorrect or have ideas how to make jclazz more convenient and stable, send us report with your suggestions or description of problem at jclazz.sf@gmail.com.
In case of finding bugs (e.g. unexpected Exception is thrown) you can report the following information needed for resolving bug:
  • Description
  • jclazz package version
  • JRE version used to run utils
  • Compiled Java class
  • Output files produced by utility (optional)
  • Expected output (optional)

Important!

Before reporting bugs please read Release Notes to find out what features are supported and read these notes:
Some decompiled files may be erroneously considered invalid. Known cases are:
  • Some if-else constructions (often inside loops with break and continue operators) may not correspond to the original constructions, but logic is just the same
  • For Java 5 and higher classes using generics cause decompiler to use class casts. This is not bug as JVM does not support generics as is (This is Java language extension and used by compilers only)
  • Using constants may result in decompiled file will not use these constants
Among known bugs are:
  • Now Decompiler supports only Java classes compiled with javac compilers.
  • Constructions "while (true)" are not always treated correctly. It is planned to fix it in future releases.

Get Java Clazz Utils at SourceForge.net. Fast, secure and Free Open Source software downloads (c) Andrew