JavaDecompiler, Disassembler and Bytecode debugger. Decompiler supports Java 5 (e.g. generics, for-each loops etc). Debugger allows user to step through each bytecode and view program state. Contains Swing GUI.
Java-program to read, modify and execute class-files. a real java VM written in java or a decompiler for class-files is possible (and partially working)