So dekompilieren Sie eine Android-App Apk

Kürzlich haben wir eine Anleitung zum Hinzufügen von Abhängigkeiten nur für bestimmte productFlavors veröffentlicht. Nachdem wir die notwendigen Schritte umgesetzt haben, wollten wir sicherstellen, dass das Finale .apk enthält eigentlich keine unerwünschten Klassen mehr. In diesem Beitrag zeigen wir Ihnen, wie Sie überprüfen, welche Klassen und Ressourcen sich in einer APK befinden.

Hinweis: Dieses Handbuch dient zum Dekompilieren Ihrer eigenen apk und nicht der harten Arbeit anderer Entwickler. Daher haben wir keine Schritte zum Reverse Engineering oder zur Problemumgehung der Code-Verschleierung enthalten.

>

Vorbereitung: Installation der Tools

Ein Android apk ist im Grunde ein gezipptes Verzeichnis, das einige Rohressourcen enthält (Bilder, Layoutdateien, ..) und eine classes.dex Datei. Diese Datei enthält den gesamten aktuellen Code und interessiert uns am meisten. Lassen Sie uns alle Tools herunterladen, die wir benötigen:

  • Sie müssen die apk entpacken. Sie können entweder die integrierte Funktionalität Ihres Betriebssystems verwenden oder Ihren bevorzugten (Un-) Archivierer wie 7-Zip installieren.
  • Um die classes.dex -Datei in eine .jar umzukehren, müssen Sie das dex2jar-Tool herunterladen.
  • Um die .jar -Datei für das menschliche Auge lesbar zu machen, laden Sie JD-Gui herunter und führen Sie es aus.

Ihren Code zurückbekommen

Nun ist es an der Zeit, die eigentliche Arbeit zu erledigen. Kopieren Sie Ihre APK-Datei in ein Verzeichnis, in dem Sie arbeiten möchten. Entpacken Sie die APK mit dem Tool Ihrer Wahl und Sie sollten ein Verzeichnis mit einigen Unterverzeichnissen und einigen Dateien erhalten.

Entpackt .apk

Fühlen Sie sich frei, das AndroidManifest.xml oder das res Verzeichnis zu durchsuchen. Das interessanteste Stück ist das classes.dex . Wechseln Sie daher zu Ihrem heruntergeladenen dex2jar -Tool und öffnen Sie ein neues Terminal.

Wenn Sie unter Mac OS arbeiten, führen Sie sh d2j-dex2jar.sh -f -o output.jar your_app_input.apk aus. Windows-Benutzer können die .bat -Datei verwenden, um die .jar -Datei zu erstellen. Navigieren Sie nach dem Durchlaufen des Tools zur neuen .jar -Datei.

Anzeigen des dekompilierten Codes

Starten Sie zuletzt das heruntergeladene JD-GUI -Tool und öffnen Sie damit die .jar -Datei.

Dekompilierte Codeansicht mit JD-GUI

Sie können alle Pakete und Klassen durchsuchen, die sich in Ihrer apk befinden. Der Code ist eine abgespeckte Version und enthält keine Kommentare oder redundanten Strukturen, die Sie in Ihrer IDE sehen. Denken Sie daran, dies ist die kompilierte Minimierung Ihrer App. Trotzdem sollte es Ihnen genügend Informationen geben, um sich mit den Grundlagen der App vertraut zu machen. So konnten wir beispielsweise überprüfen, ob in der App keine Pakete mehr für die Admob-Bibliothek vorhanden sind.

Andere Optionen

Wenn Sie nur eine schnelle Dekompilierung benötigen, können Sie das Online-Tool unter www.decompileandroid.com /.

Für fortgeschrittenere Dekompilierungszwecke können Sie sich apktool ansehen, das viele zusätzliche Helfer bietet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.