Ich habe mein Projekt versehentlich aus Eclipse gelöscht und alles, was ich übrig habe, ist die APK- Datei, die ich auf mein Telefon übertragen habe. Gibt es eine Möglichkeit, den Vorgang des Exportierens einer Anwendung in die APK-Datei umzukehren, damit ich mein Projekt zurückerhalten kann?
android
apk
decompiling
Marko Cakic
quelle
quelle
Antworten:
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 :
Verwenden Sie nach dem Generieren der JAR-Datei die JD-GUI , um die JAR-Datei zu öffnen. Sie sehen die Java-Dateien.
Die Ausgabe ist ähnlich wie:
quelle
d2j-dex2jar
stattdessen (v0.0.9.15).res
Ordnerres
Ordner mit unlesbaren XML-DateienMac
wenn Sie nicht verwenden dex2jar kann:permission denied
dann tun , um diese$sudo chmod +x d2j-dex2jar.sh
Zuallererst empfehle ich
this
Video, damit dies alle Ihre Zweifel beseitigtWenn nicht, gehen Sie es bitte durch
Procedure for decoding .apk files, step-by-step method:
Step 1:
Erstellen Sie einen neuen Ordner und legen Sie die APK-Datei darin ab (die Sie dekodieren möchten). Benennen Sie nun die Erweiterung dieser
.apk
Datei in um.zip
(z. B.: Von filename.apk in filename.zip umbenennen) und speichern Sie sie.Bei Problemen bei der Konvertierung in .zip wird bitte verwiesen
link
Nachdem Sie jetzt .zip erhalten haben, erhalten Sie classes.dex-Dateien usw. In diesem Stadium können Sie zeichnbare, aber keine XML- und Java-Dateien sehen. Fahren Sie also fort. Wenn die Erweiterungen nicht angezeigt werden, überprüfen Sie die Konfiguration
Step 2:
Extrahieren Sie nun 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 in diesen Ordner.
Dann schreiben Sie
dex2jar classes.dex
und drücken Sie die Eingabetaste. Jetzt erhalten Sie dieclasses.dex.dex2jar
Datei im selben Ordner.Laden Sie dann den Java-Dekompiler herunter
Und jetzt doppelklicken Sie auf jd-gui und klicken Sie auf Datei öffnen. Öffnen Sie dann die
classes.dex.dex2jar
Datei aus diesem Ordner. Jetzt erhalten Sie Klassendateien und speichern alle diese Klassendateien (klicken Sie auf Datei und dann auf "Alle Quellen speichern" in jd-gui) nach src-Namen. Extrahieren Sie diese Zip-Datei(classes_dex2jar.src.zip)
und Sie erhalten alle Java-Dateien der Anwendung.Zu diesem Zeitpunkt erhalten Sie eine Java-Quelle, aber die XML-Dateien sind noch nicht lesbar. Fahren Sie also fort.
Step 3:
Öffnen Sie nun einen weiteren neuen Ordner und legen Sie diese Dateien ab
Legen Sie die APK-Datei ab, die Sie dekodieren möchten
Laden Sie Apktool für
windows v1.x
AndApktool
Installieren Sie das Fenster mit Google und legen Sie es in demselben Ordner ab
lade die Datei framework-res.apk mit Google herunter und lege sie in denselben Ordner (Nicht alle apk-Dateien benötigen die Datei framework-res.apk).
Ö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 ergeben
Framework installed ...
.Step 4:
Schließlich haben wir denres/
Java-Code des Projekts erhalten, der unser Startziel ist.Enjoy and happy coding
quelle
apktool.jar
ist nicht im selben Paket, ich habe es aus einem früheren Paket erhalten und es im selben Verzeichnis wie eingefügtapktool
.Keine Software & keine zu vielen Schritte ..
Laden Sie einfach Ihre APK hoch und holen Sie sich alle Ressourcen von dieser Seite.
https://www.apkdecompilers.com/
Diese Website dekompiliert den in APK-Dateien eingebetteten Code und extrahiert alle anderen Assets in der Datei.
Hinweis: Ich dekompiliere meine APK-Datei und erhalte Code innerhalb einer Minute von dieser Website
Update 1 :
Ich habe eine andere Online-Dekompiler-Site gefunden.
http://www.javadecompilers.com/apk/ - Funktioniert nicht ständig und fragt nach Popup-Blockierung
Update 2:
Ich fand apk Dekompiler App im Play Store,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Wir können die apk-Dateien in unserem Android-Handy dekompilieren. Außerdem können wir die Java- und XML-Dateien in dieser Anwendung anzeigen
Update 3:
Wir können eine andere Option verwenden, um die APK- Funktion aus der Android Studio 2.2-Version zu analysieren
Erstellen -> APK analysieren -> Wählen Sie Ihre APK aus -> Sie erhalten Ergebnisse
quelle
Es gibt einen neuen Weg, dies zu tun.
Android Studio 2.2 hat APK Analyzer, es wird viele Informationen über apk geben, checke es hier: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
quelle
Nicht wirklich. Es gibt eine Reihe von Dex-Disassembler / Decompiler-Suiten wie smali oder dex2jar , die eine semi-humanreadable Ausgabe erzeugen (im Fall von dex2jar können Sie Java-Code mithilfe von JD-GUI erhalten, aber der Prozess ist es nicht perfekt und es ist sehr unwahrscheinlich, dass Sie Ihren Quellcode zu 100% neu erstellen können. Möglicherweise erhalten Sie jedoch einen Ort, an dem Sie mit der Neuerstellung Ihres Quellbaums beginnen können.
quelle
Ja, Sie können Ihr Projekt zurückerhalten. Benennen Sie die
yourproject.apk
Datei einfach in umyourproject.zip
, und Sie erhalten alle Dateien in dieser ZIP-Datei. Wir ändern die Dateierweiterung von .apk in .zip. Extrahieren Sie aus dieser ZIP-Datei dieclasses.dex
Datei und dekompilieren Sie sie folgendermaßen.Zunächst benötigen Sie ein Tool, um alle (kompilierten) Klassen im DEX in eine JAR zu extrahieren. Es gibt eine namens dex2jar , die von einem chinesischen Studenten hergestellt wird.
Anschließend können Sie die Klassen in der JAR mithilfe der JD-GUI in Quellcode dekompilieren. Der resultierende Quellcode sollte gut lesbar sein, da dex2jar einige Optimierungen anwendet.
quelle
Für die Android-Plattform können Sie ShowJava ausprobieren , das im Play Store erhältlich ist.
Sie können den generierten Code über die App-Oberfläche abrufen. Die generierten Java-Dateien und die
ShowJava
Ordnerstruktur/sdcard
werden neben der.jar
aus der Konvertierung resultierenden Datei im Ordner gespeichert .Die App ist kostenlos mit einem Werbebanner am unteren Rand der Hauptansicht, es gibt jedoch eine In-App-Kaufoption (3,99 $), um sie zu entfernen. Beim In-App-Kauf werden neben dem Entfernen des Werbebanners keine weiteren Funktionen hinzugefügt.
Offenlegung: Ich bin weder der Entwickler der App noch in irgendeiner Weise mit ihm verbunden.
quelle
Befolgen Sie dazu die folgenden Schritte oder verwenden Sie einfach apkToJava gem für diesen Prozess. Es kümmert sich sogar um die Installation der erforderlichen Tools, damit es funktioniert.
quelle
Wenn Sie nach einer professionellen Alternative suchen, schauen Sie sich JEB Decompiler von PNF Software an.
Es gibt eine Demoversion, mit der Sie den größten Teil des Codes dekompilieren können.
quelle
Im Folgenden finden Sie einige Tools, mit denen Sie das Reverse Engineering von einer APK-Datei zum Quellcode durchführen können:
quelle
In Android Studio 3.5 ist es so einfach, dass Sie es in einer Minute erreichen können. Das Folgende ist ein schrittweiser Prozess.
1: Android Studio öffnen, Fenstertaste drücken -> Android Studio eingeben -> auf das Symbol klicken, um den Android Studio-Begrüßungsbildschirm zu öffnen, der so aussieht.
2: Hier sehen Sie eine Option "Profil oder APK debuggen". Klicken Sie darauf und wählen Sie Ihre APK- Datei aus und drücken Sie OK.
3: Es öffnet alle Ihre Manifest- und Java-Klassen in einer Minute, abhängig von der Größe der apk.
Das ist es.
quelle
Probieren Sie dieses Tool aus: https://decompile.io , es läuft auf iPhone / iPad / Mac
quelle