JDisasm

From unkrig.de
Jump to navigation Jump to search

A disassembler for Java .class files.

Currently supports .class files up to and including version 8.

The project home page is here.

Change Log

Version 1.0.6 (2020-11-06)
Version 1.0.5 (2020-03-09)
  • Enable SMT generation by default... thus some regression tests currently fail.
  • Implemented the Java 9 "ModulePackages" class attribute.
  • Added command line option "printAllOffsets".
  • Implemented Java 9 "CONSTANT_Module_info" and "CONSTANT_Package_info".
  • Added command line option "printAllOffsets".
  • Fixed the disassembly of stack map frames.
  • Improved exception handling.
  • Made the new features available for the command line tool: "-show-class-pool-indexes", "-dump-constant-pool", "-print-all-attributes", "-print-stack-map".
Version 1.0.4
  • Implemented the "StackMapTable" attribute.
  • Fixed one NPE.
  • Signature parsing choked on signatures like "com/sun/xml/ws/server/StatefulInstanceResolver.1CookieSniffer" ("1" after ".").
  • CheckStyle clean-up with cs-contrib 1.2.19: Now not only the "{" of method declarations must be aligned, but also the "}".
  • Implemented command line option "--stack-map".
  • Issue #58: Integer overflow in ClassFile reader
Version 1.0.3
  • (unclear)
Version 1.0.2
  • Added support for the method_info's "MethodParameters" attribute.
  • "-src" now accepts a _path_ instead of a single _directory_.
  • Implemented the "StackMapTable" attribute.:* Opcodes "[adfil](load|store)_[0123]" are no longer printed as "[adfil](load|store)" (without the "implicit local variable index" suffix), but with their full mnemonic.
  • Added test cases.
  • Refactoring: Switched from a map that maps opcodes to "Instruction"s to one big SWITCH statement.
  • Java 8 fix: The operand of INVOKESPECIAL and INVOKESTATIC can now be an InterfaceMethodref, not only a Methodref.
Version 1.0.1
  • Remove our "own" implementation of Nullable, NotNull and NotNullByDefault, and added a dependency on"de.unkrig.commons-nullanalysis" instead.
  • MAIN class definition was missing from JAR manifest.
  • Slightly clarified the wording of the license: Replaced "author" with "copyright holder and its contributors".
Version 1.0.0, 2016-10-30
(-)