.jar Datei decompilen Eclipse/IntelliJ?
Hallo, wie kann ich eine .jar Datei decompilen? Ob in Eclipse oder IntelliJ ist egal. Ich will halt den src code haben und auch bearbeiten können (also kein GUI). Ich habe schon paar Sachen ausprobiert, hat aber irgendwie nicht geklappt. Wie funktioniert das?
3 Antworten
https://java-decompiler.github.io/
Ich benutze dafür jeweils dieses kleine Programm. In IntelliJ geht das glaube auch irgendwie, weiss ich aber grad nicht.
Je nachdem WAS du decompilen willst, ist es vielleicht besser, wenn du einfach die Source direkt herunterlädst. Wenn der Quellcode nicht offen ist, ist der Code meist aber auch noch obfuscated. Die Variablen und Klassennamen haben dann bedeutungslose Namen, womit du auch nicht viel anfangen kannst.
In IntelliJ ist das nahtlos eingebaut - wenn du etwa in deinem Projekt auf ein JAR unter "External Libraries" klickst und dann auf eine Klasse, springt der Decompiler an.
Alternativ auch so: https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
Das kann nicht funktionieren, weil bei der Compilierung ein P-Code erzeugt wird, der auch noch von einem Optimierer bearbeitet wird. Dadurch gehen soviele Informationen verloren, daß man den ursprünglichen Code auf keinen Fall wiederherstellen kann.
Das ist dann auch der Grund, weshalb Java plattformübergreifend funktioniert und nicht für jede neu compiled werden muss. Der Bytecode ist für die JVM lediglich effizienter zu lesen.
Nein. Java-Bytecode ist eine nahezu direkte Übersetzung aus dem Sourcecode; optimiert wird dann von der JVM. Sofern nicht explizit verschleiert, lässt sich Bytecode in der Regel sehr gut dekompilieren.