Ich habe versehentlich mein Projekt von Eclipse gelöscht, und ich habe nur noch die APK -Datei, die ich auf mein Handy übertragen habe. Gibt es eine Möglichkeit, den Export einer Anwendung in die .apk-Datei umzukehren, damit ich mein Projekt zurückerhalten kann?
Es gibt zwei nützliche Tools, die Java-Code (grob aber gut genug) aus einer unbekannten APK-Datei generieren.
Verwenden Sie 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 erstellt wurde, öffnen Sie die JAR-Datei mit JD-GUI . Sie sehen die Java-Dateien.
Die Ausgabe wird ähnlich sein:
Als Erstes empfehle ich this
video. Damit werden alle Ihre Zweifel beseitigt
Wenn nicht, bitte durchgehen
Procedure for decoding .apk files, step-by-step method:
Step 1:
Erstellen Sie einen neuen Ordner und legen Sie eine .apk-Datei (die Sie dekodieren möchten) in diesem Ordner ab. Benennen Sie nun die Erweiterung dieser .apk
-Datei in .Zip
um (zB: Umbenennen von Dateiname.apk in Dateiname.Zip) und speichern Sie sie.
Bei Problemen beim Konvertieren in .Zip verweist bitte auf link
Nachdem Sie jetzt .Zip erhalten haben, erhalten Sie classes.dex-Dateien usw. Zu diesem Zeitpunkt können Sie gezeichnete, aber keine xml- und Java-Dateien sehen. Fahren Sie also fort
Step 2:
Jetzt entpacken Sie diese Zip-Apk-Datei im selben Ordner. Laden Sie jetzt dex2jar von diesem herunter - link
und extrahieren Sie es in den gleichen Ordner. Öffnen Sie nun die Eingabeaufforderung und wechseln Sie das Verzeichnis in diesen Ordner.
Dann schreibe dex2jar classes.dex
und drücke Enter. Jetzt erhalten Sie classes.dex.dex2jar
-Datei im selben Ordner.
Dann downloade Java-Dekompilierer
Und jetzt doppelklicken Sie auf jd-gui und klicken Sie auf geöffnete Datei. Dann classes.dex.dex2jar
Datei aus diesem Ordner öffnen. Jetzt erhalten Sie Klassendateien und speichern alle diese Klassendateien (klicken Sie auf Datei und dann auf "Alle Quellen speichern" in jd-gui). Extrahieren Sie die Zip-Datei (classes_dex2jar.src.Zip)
und Sie erhalten alle Java-Dateien der Anwendung.
Zu diesem Zeitpunkt erhalten Sie Java-Quelle, aber die XML-Dateien sind immer noch nicht lesbar. Fahren Sie daher fort.
Step 3:
Öffnen Sie jetzt einen neuen Ordner und legen Sie diese Dateien ab
legen Sie die .apk-Datei ab, die Sie decodieren möchten
laden Sie Apktool für windows v1.x
und Apktool
herunter.
installieren Sie das Fenster mit Google und legen Sie es in demselben Ordner ab
laden Sie die Framework-res.apk-Datei mit Google herunter und legen Sie sie im selben Ordner ab (Nicht alle APK-Dateien benötigen die Framework-Res.apk-Datei.)
Öffnen Sie ein Befehlsfenster
Navigieren Sie zum Stammverzeichnis von APKtool und geben Sie den folgenden Befehl ein: apktool if framework-res.apk.
Der obige Befehl sollte Framework installed ...
ergeben.
Step 4:
Schließlich haben wir den res/
sowie den Java-Code des Projekts erhalten, das unser Ziel beim Start ist.
P.S.
Wenn Sie nicht in der Lage sind, den res-Ordner anhand der obigen Schritte zu erhalten, installieren Sie bitte die neueapktool
.
- Ist Java 1.7 installiert? Apktool 2.x installieren
- Ist Java 1.6 oder höher installiert? Apktool 1.x installieren
Enjoy and happy coding
Keine Software und keine zu großen Schritte.
Laden Sie einfach Ihre APK hoch und erhalten Sie alle Ressourcen von dieser Website.
https://www.apkdecompilers.com/
Diese Website dekompiliert den in APK-Dateien eingebetteten Code und extrahiert alle anderen Assets in der Datei.
note: Ich dekompiliere meine APK-Datei und hole Code innerhalb einer Minute von dieser Website.
Update 1:
Ich habe eine andere Online-Decompiler-Site gefunden.
http://www.javadecompilers.com/apk/ - Funktioniert nicht ständig und fragt nach Popups
Update 2:
Ich habe im Play Store eine apk-Dekompiler-App gefunden.
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Wir können die APK-Dateien in unserem Android-Telefon dekompilieren. Außerdem können wir die Java- und XML-Dateien in dieser Anwendung anzeigen
Update 3:
Wir können eine andere Option Analyze APK aus der Android Studio 2.2-Version verwenden
Erstellen -> APK analysieren -> Wählen Sie Ihre APK aus -> Sie erhalten Ergebnisse
Es gibt einen neuen Weg, dies zu tun.
Android Studio 2.2 hat APK Analyzer, es wird viele Informationen über apk geben, checkt es hier: - http://Android-developers.blogspot.in/2016/05/Android-studio-22-preview-new-ui. html
Nicht wirklich. Es gibt eine Reihe von Dex-Disassembler Decompiler-Suites/- wie smali oder dex2jar , die eine nur halb lesbare Ausgabe erzeugen (im Fall von dex2jar können Sie Java-Code durch die Verwendung von etwas erhalten Wie JD-GUI Aber der Prozess ist nicht perfekt und es ist sehr unwahrscheinlich, dass Sie Ihren Quellcode zu 100% neu erstellen können, aber es könnte Ihnen einen Platz geben, mit dem Sie den Quelltextbaum neu erstellen können.
Ja, Sie können Ihr Projekt zurückbekommen. Benennen Sie die yourproject.apk
-Datei einfach in yourproject.Zip
um und Sie erhalten alle Dateien in dieser Zip-Datei. Wir ändern die Dateierweiterung von .apk in .Zip. Extrahieren Sie die classes.dex
-Datei aus dieser ZIP-Datei und dekompilieren Sie sie auf folgende Weise.
Zunächst benötigen Sie ein Werkzeug, um alle (kompilierten) Klassen auf dem DEX in ein JAR zu extrahieren .. _. Es gibt eines mit dem Namen dex2jar .
Anschließend können Sie JD-GUI verwenden, um die Klassen in der JAR-Datei in Quellcode zu dekompilieren. Der resultierende Quellcode sollte gut lesbar sein, da dex2jar einige Optimierungen anwendet.
Befolgen Sie dazu die unten aufgeführten Schritte oder verwenden Sie einfach apkToJava gem für diesen Vorgang. Es werden sogar die erforderlichen Tools installiert, damit er funktioniert.
Für die Android-Plattform können Sie ShowJava ausprobieren, die im Play Store verfügbar ist.
Sie können den generierten Code über die App-Oberfläche abrufen. Die generierte Java-Datei und Ordnerstruktur wird im Ordner ShowJava
in /sdcard
neben der aus der Konvertierung resultierenden .jar
-Datei gespeichert.
Die App ist mit einem Werbebanner am unteren Rand der Hauptansicht kostenlos, es gibt jedoch eine In-App-Kaufoption (3,99 $), um sie zu entfernen. Beim In-App-Kauf werden neben dem Entfernen des Anzeigenbanners keine weiteren Funktionen hinzugefügt.
Offenlegung: Ich bin weder Entwickler der App, noch bin ich in irgendeiner Weise mit ihm verbunden.
Im Folgenden sind einige Tools aufgeführt, mit denen Sie das Reverse Engineering von einer APK-Datei in den Quellcode ausführen können:
Wenn Sie nach einer professionellen Alternative suchen, werfen Sie einen Blick auf JEB Decompiler von PNF Software.
Es gibt eine Demo-Version, mit der Sie den meisten Code dekompilieren können.