📑 Table of Contents
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
Programmier­sprache Java
Kategorie Softwaretechnik
Lizenz „free for non-commercial use“ (closed source, MIT-Haftungsausschluß)
java-decompiler.github.io

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 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).

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. (Memento des Originals vom 14. August 2012 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/mchr3k.github.com Version 1.1.2 vom 6. Januar 2013. Abgerufen am 19. Januar 2013. Gehostet bei GitHub.

📚 Artikel Terkait di Wikipedia

Java Archive

Microsystems, Inc. Name: javax/swing/JRadioButtonMenuItem.class Java-Bean: True Name: javax/swing/JList.class Java-Bean: True Dem Hauptabschnitt in diesem Beispiel

Urs Hölzle

[PDF]).  mit Chandra Krintz, B. Calder: Reducing Transfer Delay Using Java Class File Splitting and Prefetching. In: ACM SIGPLAN Notices. Jg. 34, Nr. 10

Jakarta XML Binding

= JAXB.unmarshal(new File("foo.xml"), FooObject.class); BarObject barObj = JAXB.unmarshal(new File("bar.xml"), BarObject.class); Um die Datenobjekte

Jakarta Server Pages

Servlet. <%@ include file="BeispielDatei.ext" %> page import generiert ein Java-Import-Statement in der Datei <%@ page import="java.util.*" %> contentType

JSON

Die JavaScript Object Notation (JSON []) ist ein kompaktes Datenformat in einer einfach lesbaren Textform für den Datenaustausch zwischen Anwendungen.

Log4j

Log4j ist ein Framework für das Logging von Anwendungsmeldungen in Java. Innerhalb vieler Open-Source- und kommerzieller Softwareprodukte hat es sich über

Web Application Archive

Archive (WAR file; gelegentlich auch Web Archive) ist ein Dateiformat, das beschreibt, wie eine vollständige Webanwendung nach der Java-Servlet-Spezifikation

Datenkapselung (Programmierung)

ändern*/ } } Das folgende Beispiel ist in der Programmiersprache Java implementiert: public class Angestellter { private BigDecimal salary = new BigDecimal(50000