Version 17 (modified by 12 years ago) (diff) | ,
---|
JVM Bytecode tools
BCEL
http://bcel.sourceforge.net/downloads/BCEL.jar
BCEL verifier
java -cp bcel.jar \ org.apache.bcel.verifier.Verifier <CLASSFILE-TO-BE-VERIFIED>
java -cp bcel-5.3-beta-694866.jar \ org.apache.bcel.verifier.GraphicalVerifier \ <CLASSFILE-TO-BE-VERIFIED>
jvm-verifier
Kersten's Verifier for Java Byte Codes
can
http://classfileanalyzer.javaseiten.de/
After building classfileanalyzer.jar, classes can be decompiled into Jasmin assembler format ("*.j") via
java -jar ~/work/classfileanalyzer/classfileanalyzer.jar -file 144c_1.class
jasmin-mode
Jasmine is the defacto assembler format for JVM bytecode.
An Emacs mode jasmin.el exists for visiting these files.
Some funkiness in the highlighting can be fixed in the attachment:jasmin-line-numbers.diff.
Online JVM reference
http://java.sun.com/docs/books/jvms/second_edition/html/Instructions2.doc.html::
JVM specification.
http://www.daimi.au.dk/dOvs/jvmspec/ref-Java.html::
Annotation of JVM instructions from J. Meyer and T. Downing, __Java Virtual Machine__, O'Reilly Associates, 1997. Some errors [unverified], but often more understandable than the JVM specification as it comes with short examples.
JustIce
http://bcel.sourceforge.net/justice/justice.html
A command line tool that produces diagnostics about incorrect bytecode. Now folded as part of BCEL.
Attachments (1)
-
jasmin-line-numbers.diff (2.3 KB) - added by 12 years ago.
Patch to fix display of line numbers in jasmin.el
Download all attachments as: .zip