JDisasm
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)
-
- Changed license name from "New BSD License" to "BSD-3-Clause", because https://maven.apache.org/pom.html#Licenses recommends "... Using an SPDX identifier as the license name...".
- Changed license URL from "https://raw.githubusercontent.com/janino-compiler/janino/master/LICENSE.txt" to "https://spdx.org.licenses/BSD-3-Clause.html", because the latter is probably the most reliable and stable copy. (We are already using the SPDX identifier, see above, so it appears reasonable to link to the SPDX web site.)
- Show thrown exceptions with "MethodSignature.toString()".
- Added Java7 and Java 11 support for LDC[_W] and LDC2_W.
- Added support for cp_infos 17, 18, 19 and 20.
- 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
- (-)