Java Decompiler (JD) ist ein Decompiler für die Programmiersprache Java. JD wird als GUI-Werkzeug sowie in Form von Plugins für die Eclipse IDE (JD-Eclipse) sowie IntelliJ IDEA (JD-IntelliJ) bereitgestellt.

JD – Java Decompiler

Java decompiler
JD mit dekompilierter Klasse von equinox.jar
Basisdaten

Entwickler Emmanuel Dupuy
Aktuelle Version JD-Core 1.1.3, JD-GUI 1.6.6, JD-Eclipse 2.0.0, JD-IntelliJ 0.6
Betriebssystem Plattformübergreifend
Programmiersprache Java
Kategorie Softwaretechnik
Lizenz „free for non-commercial use“ (closed source, MIT-Haftungsausschluß)
java-decompiler.github.io

JD unterstützt alle Java-Versionen von 1.1.8 bis 10.0.0 sowie JRockit 90_150, Jikes 1.2.2, Eclipse Java Compiler und Apache Harmony und wird daher oft dort eingesetzt, wo früher der populäre Jad (Dekompilierer) im Einsatz war.

JD-Eclipse 0.1.3 unterstützte Eclipse bis einschließlich Version 3.7 (Indigo), Version 0.1.4 enthält Korrekturen für Eclipse Juno (4.2) und Kepler (4.3), eine als Update-Archiv erhältliche Snapshot-Version 0.1.5-20131120 weitere signifikante Korrekturen. Zur Ansicht dekompilierten Codes muss die Ansicht „Class file editor“ für Bytecode ohne vorhandene Quellen manuell aktiviert werden[1].

Varianten Bearbeiten

Auf Initiative von Alex Kosinsky entstand 2011 eine Variante[2] von JD-Eclipse, die die Ausrichtung von dekompiliertem Code an den Zeilennummern des Originals erlaubt, die oftmals als Debug-Informationen im Bytecode enthalten sind.

Eine Abspaltung von JDEclipse-Realign durch Martin „Mchr3k“ Robertson[3] erweiterte 2012 die Funktionalität um eine manuelle Steuerung der Decompilation und Unterstützung für Eclipse 4.2 (Juno) und 4.3 (Kepler).

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. Alexey Zvolinskiy: Fruzenshtein's notes. JD – Java decompiler. 1. April 2013, abgerufen am 2. Januar 2014.
  2. Alex Kosinsky – Realignment for JD-Eclipse. Version 1.0.2 vom 11. August 2011. Abgerufen am 19. Januar 2013. Gehostet bei SourceForge.
  3. Martin „Mchr3k“ Robertson – JDEclipse-Realign. Version 1.1.2 vom 6. Januar 2013. Abgerufen am 19. Januar 2013. Gehostet bei GitHub.