http://jakarta.apache.org/bcel/
The Byte Code Engineering Library (formerly known as JavaClass) is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.
Such objects can be read from an existing file, be transformed by a program (e.g. a class loader at run-time) and dumped to a file again. An even more interesting application is the creation of classes from scratch at run-time. The Byte Code Engineering Library (BCEL) may be also useful if you want to learn about the Java Virtual Machine (JVM) and the format of Java .class files.
BCEL is already being used successfully in several projects such as compilers, optimizers, obsfuscators, bytecode verifiers and analysis tools, the most popular probably being the Xalan XSLT compiler at Apache.
See the NEWS file for what has changed in the latest release.
BCEL and CCK are © 2001/2002 Markus Dahm. Last change 04/12/2002.
Please tell me, if you
find this tool helpful. I'd also be interested in what kind of
projects you use it.
Send bug reports and suggestions to
markus.dahm@berlin.de(Markus Dahm)