Kennt jemand einen kostenlosen Dekompiler, der eine gesamte Jar-Datei anstelle einer einzelnen Klasse dekompilieren kann? Ich habe ein Problem mit Unterklassen wie Name $ 1.Klassenname $ 2.Klassenname.Klasse
java
jar
decompiler
Steinherz
quelle
quelle
Antworten:
2009: JavaDecompiler kann mit einem JAR gute Arbeit leisten: Seit 0.2.5 werden alle Dateien in JAR-Dateien angezeigt.
Siehe auch die Frage "Wie" dekompiliere "ich Java-Klassendateien?" .
Die JD-Eclipse scheint sich jedoch seit Ende 2009 nicht geändert zu haben (siehe Änderungen ).
Daher kann die Integration in die neueste Version von Eclipse (3.8, 4.2+) problematisch sein.
JD-Core wird aktiv gewartet.
Beide sind das Ergebnis der fantastischen Arbeit von (SO-Benutzer) Emmanuel Dupuy .
2018: Eine modernere Option, die in den Kommentaren von David Kennedy Araujo erwähnt wird :
JetBrains / Intellij-Community / Plugins / Java-Dekompiler / Engine
Siehe auch Dekompilieren in Java-Dateien Intellij Idee für einen Befehl, der mit der neuesten IntelliJ IDEA arbeitet.
quelle
Zunächst ist zu beachten, dass alle Java-Archivdateien (
.jar
/.war
/ etc ...) im Grunde genommen nur ausgefallene.zip
Dateien sind , mit einigen zusätzlichen Manifesten und Metadaten.Zweitens verwende ich persönlich mehrere Tools, um dieses Problem auf allen Ebenen zu lösen:
.class
Dateienjar
s, durchführen. Einen Versuch wert.Der Vorteil all der oben genannten ist, dass ich kein anderes externes Werkzeug halten muss, das meine Arbeitsumgebung überfüllt. Alles, was ich jemals von einer dieser Dateien benötige, kann in meiner IDE verarbeitet oder nativ von anderen Dateien unterschieden werden.
quelle
Wenn Sie zufällig sowohl eine Bash-Shell als auch einen Jad haben:
Ich mag ein kleines bisschen damit einverstanden sein, aber es sollte mehr oder weniger wie angekündigt funktionieren. Sie sollten am Ende
$JAR.tmp
Ihre dekompilierten Dateien enthalten.quelle
javap
innerhalb dieser grundlegenden Schleifenstruktur und es funktioniert für mich.Ich hatte vernünftigen Erfolg mit einem Tool namens (frustrierend) " JD: Java Decompiler ".
Ich habe es besser gefunden als die meisten Dekompilierer, wenn es um Klassen geht, die für Java 5 und höher kompiliert wurden . Leider kann es immer noch zu Schluckauf kommen, bei denen JAD normalerweise erfolgreich wäre.
quelle
Etwas wie:
vielleicht?
quelle
Fügen Sie Folgendes in decompile.jar.sh ein
Gebrauchsfertig, geben Sie einfach ein
dj your.jar
und Sie erhalten einenyour.jar.src
Ordner mit Quellen. Verwenden Sie die-d
Option für den Debug-Modus.quelle
Eine JAR-Datei ist nur eine Zip-Datei mit der JAR-Erweiterung. Sie sollten in der Lage sein, ein Glas wie eine Zip-Datei zu entpacken (winzip).
quelle
Sie extrahieren es und verwenden dann jad gegen das Verzeichnis.
quelle
Hinweis: Diese Lösung funktioniert nur für Mac- und * nix-Benutzer.
Ich habe auch versucht, Jad ohne Glück zu finden. Meine schnelle Lösung bestand darin, MacJad herunterzuladen , das Jad enthält. Sobald Sie es heruntergeladen haben, finden Sie jad unter [wo Sie Macjad heruntergeladen haben] / MacJAD / Contents / Resources / jad.
quelle