Es gibt zwei nützliche Tools, die Java-Code (grob, aber gut genug) aus einer unbekannten APK-Datei generieren können.
Laden Sie das Tool dex2jar von dex2jar herunter.
Verwende das Tool, um die APK-Datei in JAR zu konvertieren:
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
Sobald die JAR-Datei erzeugt wurde, öffnen Sie die JAR-Datei mit JD-GUI. Sie werden die Java-Dateien sehen.
Die Ausgabe wird ähnlich sein wie:
Nicht wirklich. Es gibt eine Reihe von Dex-Disassembler/Decompiler-Suiten wie smali oder dex2jar, die eine halbwegs lesbare Ausgabe erzeugen (im Fall von dex2jar können Sie Java-Code durch die Verwendung von etwas wie JD-GUI erhalten, aber der Prozess ist nicht perfekt und es ist sehr unwahrscheinlich, dass Sie Ihren Quellcode zu 100% wiederherstellen können. Es könnte Ihnen jedoch einen Ansatzpunkt für den Wiederaufbau Ihres Quellcodes bieten.
Ja, Sie können Ihr Projekt wiederherstellen. Benennen Sie einfach die Datei IhrProjekt.apk
in IhrProjekt.zip
um, und Sie erhalten alle Dateien in dieser ZIP-Datei. Wir ändern die Dateierweiterung von .apk in .zip. Entpacken Sie aus dieser ZIP-Datei die Datei "classes.dex" und dekompilieren Sie sie wie folgt.
Zunächst benötigen Sie ein Tool, um alle (kompilierten) Klassen auf der DEX in ein JAR zu extrahieren. Es gibt eines namens dex2jar, das von einem chinesischen Studenten entwickelt wurde.
Dann können Sie JD-GUI verwenden, um die Klassen im JAR in Quellcode zu dekompilieren. Der resultierende Quellcode sollte recht gut lesbar sein, da dex2jar einige Optimierungen vornimmt.