While Sun provides an option to javap to disassemble class files, we found that its output is not suitable for parsing and assembly. This need for an assembler-compatible disassembler prompted us to write our own. We have developed a Java disassembler that generates jasmin compatible output from Java class files.
We have used our disassembler for debugging as well as post-mortem analysis of JVM security attacks. The disassembler output has hypertext links in order to aid easy code browsing. The output can be directly fed into the jasmin assembler.
Kimera disassembly service is accessible from the web. You can run the disassembler on a class you would like to examine by providing a URL to the class you are interested in (the default is a sample applet from JavaSoft). The submitted class files are logged.