Ist es möglich, eine Android-APK-Datei zu dekompilieren?
-
30-09-2019 - |
Frage
Sind die Benutzer in der Lage, die apk-Datei meiner Anwendung zurück zum eigentlichen Code zu konvertieren? Wenn sie das tun - ist es eine Möglichkeit, dies zu verhindern
?Lösung
Zuerst wird eine apk-Datei nur eine modifizierte JAR-Datei ist. So ist die eigentliche Frage ist, können sie dekompilieren die dex Dateien im Inneren. Die Antwort ist irgendwie. Es gibt bereits Disassembler, wie dedexer und smali . Sie können diese nur erwarten, besser zu werden, und theoretisch sollte es schließlich möglich sein, aktuelle Java-Quellcode zu dekompilieren (zumindest manchmal). Siehe vorherige Frage decompiling DEX in Java Sourcecode .
Was sollten Sie daran denken ist Verschleierung nie funktioniert. Wählen Sie eine gute Lizenz und Ihr Bestes tun es durch das Gesetz zu erzwingen. Verlieren Sie keine Zeit mit unzuverlässigen technischen Maßnahmen.
Andere Tipps
ApkTool Blick Ressourcen innerhalb APK Datei
- Auszüge AndroidManifest.xml und alles in res Ordner (Layout XML-Dateien, Bilder, verwendet htmls auf webview etc ..)
- Befehl:
apktool.bat d sampleApp.apk
- Hinweis: Sie können dies erreichen, indem Zip-Programm wie 7-Zip verwenden. Aber Er extrahiert auch die .smali Datei aller .class-Dateien.
Mit dex2jar
- Erzeugt .jar-Datei von APK-Datei, müssen wir JD-GUI den Quellcode dieser .jar anzuzeigen.
- Befehl:
dex2jar sampleApp.apk
decompiling .jar mit JD-GUI
- dekompiliert die .class-Dateien (obfuscated- in einem Fall des Android-App, sondern ein lesbarer Original-Code wird in einem Fall von anderer .jar-Datei) erhalten. das heißt, wir .JAVA zurück aus der Anwendung erhalten.
Ich kann auch hinzufügen, dass es heutzutage möglich ist Android-Anwendung zu dekompilieren keine Software online, benötigt!
Hier gibt es 2 Möglichkeiten für Sie:
herunterladen jadx Tool https://sourceforge.net/projects/jadx/files/
entpacken und als in lib Ordner laufen jadx-gui-0.6.1.jar Datei jetzt Ihre apk-Datei. Es ist fertig. Automatisch apk wird dekompilieren und durch Drücken speichern Taste speichern. Hoffe, es wird für Sie arbeiten. Dank
Manchmal muss man gebrochen Code erhalten, bei der Verwendung von dex2jar
/ apktool
, vor allem in Schleifen. Um dies zu vermeiden, verwenden Sie jadx , die dekompiliert Dalvik Bytecode in Java-Quellcode, ohne eine .jar
/ .class
-Datei zu erstellen zuerst als dex2jar
tut (apktool Verwendungen dex2jar glaube ich). Es ist auch Open-Source und in der aktiven Entwicklung. Es hat sogar eine GUI, für GUI-Fanatiker. Versuchen Sie es!
Sind die Benutzer in der Lage, die apk-Datei meiner Anwendung zurück zum eigentlichen Code konvertieren?
Ja.
Die Menschen können auf verschiedene Tools verwenden:
- Analyse: Ihre apk
- Decoder / hacken Ihre apk
-
FDex2
mitdex
Datei auskippen- dann
dex2jar
mit zujar
konvertieren- dann
jadx
zu conver zujava
Quellcode mit
- dann
- dann
-
Wenn sie das tun - ist es eine Möglichkeit, dies zu verhindern
ja. Mehrere (kombiniert werden können) Möglichkeiten zu verhindern (gewisse) folgt aus:
- Low-Pegel: Code-Verschleierung
- mit Android
ProGuard
- mit Android
- hohe Niveau: Verwendung android verhärten Szenario
Weitere Informationen finden Sie beziehen sich meine Chinesisch Tutorial: ?? ?? ??? ? ??