wiki:jvm-bytecode-tools

Version 17 (modified by Mark Evenson, 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>

http://www.jresearchsoft.com:9091/nexus/content/repositories/thirdparty/org/apache/bcel/bcel/5.3-beta-694866/bcel-5.3-beta-694866.jar

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)

Download all attachments as: .zip