RSAC: Reverse-Engineering einer Android-App in fünf Minuten

Eine der häufigsten Taktiken zur Verbreitung von Malware – oder auch nur von schlechten Anwendungen – auf Android ist die Neuverpackung von Apps. Während seiner Präsentation auf der RSA Conference zeigte Pau Oliva Fora von viaForensics, dass das Reverse Engineering von Android-Apps nur wenige Minuten in Anspruch nimmt.

Die App besorgen
Der erste Schritt zum Reverse Engineering einer App, so Fora, besteht darin, sich eine App zu besorgen. Android-Apps (oder APKs) sehen auf dem Telefon zwar schick aus, sind aber eigentlich nur ZIP-Dateien mit einer neuen Erweiterung. Darin befindet sich alles, was die App zum Ausführen benötigt – vom Code bis hin zu den Medien, die sie möglicherweise benötigt.

Es gibt mehrere Möglichkeiten, eine APK zu erhalten. Wenn Sie eine App auf Ihrem Android-Gerät zurückentwickeln möchten, können Sie einen Dateimanager wie ASTRO verwenden, um ein Backup auf einer SD-Karte zu speichern. Es ist auch möglich, Ihr Android-Gerät mit einem Computer zu verbinden und dann die Android Debugging Bridge zu verwenden, um die App auf Ihren PC zu übertragen. Sie können auch Online-Tools verwenden, um APKs aus Google Play zu saugen.

Pulling It Apart
Wenn Sie eine APK haben, mit der Sie arbeiten können, müssen Sie sie in etwas Brauchbares umwandeln. Hierfür bietet Fora zwei Möglichkeiten an. Sie können Ihr Ziel mit einem Tool wie Apktool disassemblieren, das die kompilierte Anwendungscodedatei (Dalvik Executable, oder DEX) der APK in eine Assemblersprache wie Smali konvertiert. Oder Sie können dekompilieren, was die DEX-Datei in ein Java-Archiv (JAR) und dann in Java umwandelt.

Fora merkte an, dass es besser ist, einen Dekompiler zu verwenden, der speziell für Android entwickelt wurde, da beim Dekompilieren einige Daten verloren gehen können. Dieser überspringt den JAR-Schritt und konvertiert DEX direkt in Java.

Für Leute, die nicht daran interessiert sind, all diese Tools selbst aufzuspüren, schlug Fora Santoku vor. Dabei handelt es sich um eine spezielle Linux-Distribution von viaForensics, die mit allen Tools vorinstalliert ist, die man braucht, um eine Android-Anwendung zu zerlegen, zu modifizieren und neu zu verpacken. Es handelt sich um ein leistungsfähiges Tool für die digitale Forensik, über das wir bereits in der Vergangenheit geschrieben haben.

Rapid Reverse
Wenn Sie während der letzten paar Absätze eingeschlafen sind, wachen Sie jetzt auf. Mit Santoku hat Fora eine sehr einfache Android-App, die er erstellt hatte, auseinandergenommen. Dann durchsuchte er den Code nach einer bestimmten Zeile, änderte den Code, packte ihn neu, signierte ihn, installierte die geänderte App erneut auf seinem Android-Gerät und startete sie. Der gesamte Vorgang dauerte weniger als fünf Minuten.

Nun war Foras Beispiel sehr einfach. Die App war sehr einfach und enthielt keinen verschleierten Code. Dennoch hatte seine Demonstration große Auswirkungen. „Man kann damit das Verhalten jeder Android-Anwendung ändern“, sagte Fora und nannte als Beispiele unendlich viele Leben in einem Spiel oder kostenpflichtige Funktionen in einer kostenlosen App.

Ein erschreckenderes Beispiel? Denken Sie einfach an eine der bösartigen Klon-Apps, die wir gesehen haben. Denken Sie darüber nach, bevor Sie diesen skizzenhaften FlappyBird-Klon herunterladen.

PCMag Tech Deals

Suchen Sie nach Angeboten für die neueste Technik?

Dieser Newsletter kann Werbung, Angebote oder Partnerlinks enthalten. Mit dem Abonnieren eines Newsletters erklären Sie sich mit unseren Nutzungsbedingungen und Datenschutzrichtlinien einverstanden. Sie können sich jederzeit wieder abmelden.

Über Max Eddy

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.