Wie dekompiliere ich eine APK- oder DEX-Datei auf einer Android-Plattform? [geschlossen]

137

Ist es möglich, ein APK-Paket oder eine DEX-Datei auf einer Android-Plattform zu dekompilieren? Gibt es Tools, die eine APK-Datei dekompilieren können?

user3151261
quelle
meinst du programmatisch?
Luzifer
Dieser Link hat jede Antwort, die Sie brauchen. stackoverflow.com/questions/12732882/…
Mandar Kakade
Es gibt viele im Play Store, die jemand durchsuchen kann.
MarmiK

Antworten:

163

Zum decompile an APKAblegen benötigen Sie drei Tools .

  1. Dex2jar - Tools zum Arbeiten mit Android .dex- und Java .class-Dateien

  2. ApkTool - Ein Tool zum Reverse Engineering von Android-Apk-Dateien

  3. JD-GUI - Java Decompiler ist ein Tool zum Dekompilieren und Analysieren von Java 5-Bytecode und späteren Versionen.

Weitere Informationen zur Verwendung von Dextojar . Hoffe das wird dir und allen helfen! :) :)

Rupesh Yadav
quelle
Ich denke, all diese Tools laufen auf der Windows-Plattform. Kann ich diese JAR-Dateien in mein Android-Projekt importieren und dann auf der Android-Plattform
ausführen
Rupesh Yadav @ In diesem Prozess stimmt ein Zeilencode nicht mit dem Originalcode überein. www.decompileandroid.com/ Von diesem Web aus kann ich meinen Code dekompilieren, aber beide Codes sind unterschiedlich, warum?
Shailendr singh
1
@Shailendrsingh Das Obige ist der Standardprozess zum Dekompilieren einer APK. Falls die Verschleierung in der App aktiviert ist, kann der Code der dekompilierten Klassen abweichen.
Rupesh Yadav
OK, wenn die Verschleierung in der App aktiviert ist. Wie kann ich Originalcode erhalten, der in der App geschrieben ist?
Shailendr singh
2
@Shailendrsingh ist nur möglich, wenn Sie eine Reverse-Mapping-Datei haben, andernfalls kann eine APK-Datei nicht zu 100% genutzt werden.
Rupesh Yadav
32

Online APK Decompiler http://www.decompileandroid.com/
http://www.javadecompilers.com/
APK Decompiler App für Windows http://forum.xda-developers.com/showthread.php?t=2493107

Update 04.12.2015
ClassyShark Sie können APK / Zip / Class / Jar-Dateien öffnen und deren Inhalt analysieren. https://github.com/google/android-classyshark

BM
quelle
3
DecompileAndroid dekompiliert die
Datei strings.xml
ProGuard entfernt R $ string.class vollständig, aber Android-Dekompilierer können alle Informationen aus resources.arsc rekonstruieren. Ich denke, dieses DecompileAndroid hat diese Art von komplizierter Funktion noch nicht implementiert
Jacky
11

Ich habe ein Tool erstellt, das dex2jar, jd-core und apktool kombiniert: https://github.com/dirkvranckaert/AndroidDecompiler Checken Sie das Projekt einfach lokal aus und führen Sie das Skript wie dokumentiert aus, und Sie erhalten alle Ressourcen und Quellen dekompiliert.

dirkvranckaert
quelle
5

Eine APK ist nur im zipFormat. Sie können es wie jede andere .zipDatei entpacken .

Sie können .dexDateien mit dem dexdumpim Android SDK bereitgestellten Tool dekompilieren .

Weitere Informationen zum Dex finden Sie unter https://stackoverflow.com/a/7750547/116938 .

Austyn Mahoney
quelle
5

Sie können eine apk auf einem Android-Gerät folgendermaßen dekompilieren: https://play.google.com/store/apps/details?id=com.njlabs.showjava

Weitere Informationen finden Sie hier: http://forum.xda-developers.com/showthread.php?t=2601315

EDIT: 28-02-2015

Zum Dekompilieren einer apk können Sie dieses Tool verwenden: https://apkstudio.codeplex.com/license

Wenn das nicht hilft, überprüfen Sie diesen Link

Ultimo_m
quelle
Die App hat bei mir nie funktioniert. Es versucht unendlich, "Decompiling to Java" durchzuführen und sie
stürzen
dann sollten Sie dieser Antwort folgen stackoverflow.com/a/23924665/2736039 Diese Lösungen funktionieren sehr gut
Ultimo_m
Diese
Ich kenne dieses Problem und um es zu lösen, benutze ich Apk Tool. Soweit ich weiß, können Sie kein Werkzeug finden, das die ganze Arbeit erledigt. Sie müssen sie alle verwenden :)
Ultimo_m
Überprüfen Sie meine bearbeitete Antwort Ich habe ein neues Tool gefunden
Ultimo_m
5

http://www.decompileandroid.com/

Diese Website dekompiliert den in APK-Dateien eingebetteten Code und extrahiert alle anderen Assets in der Datei.

Ranjith Kumar
quelle
2
sehr schöne Website! Ich habe es ein Jahr lang benutzt. Es gibt auch eine Alternative: javadecompilers.com/apk , die einen anderen Ansatz verwendet (Jadx anstelle von Dex2jar + Jad)
Andrew Rukin
@JqueryNinja überprüfen Sie dies für alternative - stackoverflow.com/a/27981520/3879847
Ranjith Kumar
@RanjithKumar javadecompilers.com/apk Nachdem ich lange Stunden in einer Warteschlange gewartet hatte, dekompilierte die Website meine apk. Es fehlten jedoch einige Java-Klassen. Gibt es keine andere Alternative?
iOSAndroidWindowsMobileAppsDev
@JqueryNinja benutze showjava apk. Das ist besser als andere. aber Werbung ist mehr .. play.google.com/store/apps/details?id=com.njlabs.showjava
Ranjith Kumar
@RanjithKumar showjava verwendet javadecompilers.com/apk oder jadx, das nicht alle Java-Klassen dekompiliert
iOSAndroidWindowsMobileAppsDev
3

Sie können auch das Apktool verwenden: http://ibotpeaches.github.io/Apktool/ , mit dem Sie auch die XML-Res-Dateien erhalten. Daneben können Sie auch das dex2jar-System verwenden, das die dex-Datei in der apk in eine JAR-Datei ausgibt, die mit JD-GUI geöffnet und in Standard-Java-Dateien exportiert werden kann.

w9jds
quelle
0

Sie können auch Android Multitool verwenden. Sie können kleinere Änderungen in der App vornehmen, z. B. GUI-Elemente ausblenden oder einen kleinen Teil von Logic ändern und die apk neu erstellen. Es ist einfach zu bedienen und dekompilieren / neu kompilieren apk und jar Dateien. Hier ist der Link, den Sie auschecken können.

Prost

trueblue
quelle