556 Stimmen

Wie kann ich Java-Klassendateien "dekompilieren"?

Welches Programm kann ich verwenden, um eine Klassendatei zu dekompilieren? Erhalte ich tatsächlich Java-Code oder ist es nur JVM-Assembler-Code?

Auf Fragen zur Java-Leistung auf dieser Website sehe ich oft Antworten von Leuten, die die Java-Klassendatei "dekompiliert" haben, um zu sehen, wie der Compiler bestimmte Dinge optimiert.

14voto

Janus Troelsen Punkte 19028

Procyon enthält einen Dekompilierer. Es ist FOSS.

13voto

Quinn Taylor Punkte 44113

Ruß ist eine Option für neueren Java-Code. Zumindest hat es den Vorteil, dass es noch aktuell ist...

Auch, Java-Decompiler ist ein Decompiler mit einer eigenständigen GUI und einer Eclipse-Integration.

Zum Schluss, Jdec wurde noch nicht erwähnt, obwohl es nicht so ausgefeilt ist wie andere Optionen.

12voto

G Kumar Punkte 131

JD-GUI ist wirklich gut. Sie könnten einfach eine JAR Datei und blättern Sie durch den Code, als ob als ob Sie mit einer IDE arbeiten würden. Gutes Zeug.

11voto

Andrew Rukin Punkte 899

Hier ist eine Liste von Decompilern (Stand: Februar 2015):

Procyon , Open-Source, https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler

CFR , kostenlos, kein Quellcode verfügbar, http://www.benf.org/other/cfr/

JD , nur für den nicht-kommerziellen Gebrauch kostenlos, http://jd.benow.ca/

Fernblume , Open-Source, https://github.com/fesh0r/fernflower ,

JAD - hier nur aus historischen Gründen aufgeführt. Frei, kein Quellcode verfügbar, http://varaneckas.com/jad/ Veraltet, nicht unterstützt und dekompiliert nicht korrekt Java 5 und höher.

Sie können die oben genannten Decompiler online testen, ohne dass eine Installation erforderlich ist, und Ihre eigene fundierte Wahl treffen.

Java-Decompiler in der Cloud: http://www.javadecompilers.com/

10voto

Mike Pone Punkte 17885

Es gibt ein paar Programme, die Sie verwenden können. Sie erhalten den eigentlichen Java-Code, aber manchmal wurde der Code verschleiert, so dass die Methoden mit einem Buchstaben oder einer Zahl oder einer zufälligen Mischung aus Buchstaben und Zahlen benannt sind.

DJ Decompiler Mokka

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X