Was ist Dekompilierung?
Der Prozess der Dekompilierung ist genau das Gegenteil der Kompilierung, bei der die kompilierte Programmiersprache in unkompilierter Form wiederhergestellt wird Der Zustand besteht darin, den Quellcode der Programmiersprache zu finden. Es geht darum, die Sprache, die die Maschine verstehen kann, in die Sprache umzuwandeln, die der Programmierer verstehen kann.
Dekompilierung in der Java-Sprache bezieht sich im Allgemeinen auf die Konvertierung von Klassendateien in Java-Dateien. (Empfohlenes Lernen: Java-Kurs)
Mit Dekompilierungstools können wir viele Dinge tun. Die wichtigste Funktion ist, dass wir mit Dekompilierungstools lesen und verstehen können Der vom Java-Compiler generierte Bytecode. Zum Beispiel können wir Einblicke in die Prinzipien hinter dem syntaktischen Java-Zucker gewinnen.
Häufig verwendete Java-Dekompilierungstools
Führt hauptsächlich vier Java-Dekompilierungstools ein: javap, jad und cfr sowie das visuelle Dekompilierungstool JD-GUI
JAVAP
Javap ist ein Tool, das mit JDK geliefert wird. Es kann den Code dekompilieren und den vom Java-Compiler generierten Bytecode anzeigen. Der größte Unterschied zwischen Javap und den beiden anderen Dekompilierungstools besteht darin, dass die von ihm generierten Dateien keine Java-Dateien sind und nicht so leicht zu verstehen sind wie die von den beiden anderen Tools generierten Codes.
Javap dekompiliert den Bytecode nicht in eine Java-Datei, sondern generiert einen Bytecode, den wir verstehen können. Tatsächlich sind die von Javap generierten Dateien immer noch Bytecodes, aber Programmierer können sie ein wenig verstehen. Wenn Sie über Bytecode-Kenntnisse verfügen, können Sie den obigen Code trotzdem verstehen. Tatsächlich geht es darum, String in Hashcode umzuwandeln und dann zu vergleichen.
JAD
JAD ist ein relativ gutes Dekompilierungstool. Solange Sie ein Ausführungstool herunterladen, können Sie Klassendateien dekompilieren. Immer noch der obige Quellcode, der Inhalt nach der Dekompilierung mit jad ist wie folgt:
Befehl: jad.exe Decompilation.class generiert eine Decompilation.jad-Datei
CFR
JAD ist sehr nützlich, wurde aber leider schon lange nicht mehr aktualisiert und kann daher nur durch ein neues Tool ersetzt werden. Im Vergleich zu JAD ist die Syntax möglicherweise etwas anders . Etwas komplizierter, aber glücklicherweise kann es verwendet werden.
CFR wird moderne Java-Funktionen dekompilieren – Java 8 Lambdas (Java Beta 103 in Java und frühere Versionen), Java 7 String wurde dekompiliert, CFR jedoch Komplett in Java 6 geschrieben.
JD-GUI
JD-GUI ist ein in C++ entwickeltes Java-Dekompilierungstool, entwickelt von Pavel Kouznetsov, und unterstützt Windows, Linux und Apple Mac Os drei Plattformen. Und stellt das Plug-in JD-Eclipse unter der Eclipse-Plattform bereit.
JD-GUI basiert auf der Open-Source-Lizenz GPLv3 und ist für den persönlichen Gebrauch völlig kostenlos. Der Hauptzweck von JD-GUI besteht darin, visuelle Operationen bereitzustellen. Sie können Dateien direkt in das Fenster ziehen. Das Rendering erfolgt wie folgt:
Das obige ist der detaillierte Inhalt vonSo dekompilieren Sie Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!