Debuggen von Anwendungen mit IDA¶
In diesem Kapitel wird Ihnen vorgestellt, wie Sie mit FIRERPA und den zugehörigen Funktionen und Skripten schnell Android-Anwendungen debuggen können. Unsere Demonstrationsumgebung ist ein Android 10-System, das Host-System ist Ubuntu 22.04, auf dem IDA 7.5 (wine), ADB, jdb, Python und andere relevante Tools installiert sind. Es wird empfohlen, dass Ihre IDA-Version mindestens 7.5 oder höher ist und Sie die neueste Version des FIRERPA-Servers installiert haben.

Den Debug-Modus aktivieren¶
Falls Ihr System bereits im Debug-Modus ist, müssen Sie diesen Schritt nicht ausführen. Andernfalls öffnen Sie bitte den FIRERPA-Remote-Desktop und geben Sie im Terminal setdebuggable ein. Nach der Eingabe des Befehls wird Ihr Telefon einen Soft-Reboot durchführen. Keine Sorge, es wird in etwa zwei Minuten wieder vollständig betriebsbereit sein. Zu diesem Zeitpunkt befindet sich Ihr Telefon im Debug-Modus.

IDA-Debug-Server installieren¶
Bevor Sie mit dem Debugging fortfahren, müssen Sie den mit IDA gelieferten Server für das Android-Debugging auf das Gerät hochladen. Sie finden android_server und android_server64 im Verzeichnis dbgsrv Ihres IDA-Installationsverzeichnisses. Wenn die zu debuggende Zielanwendung 32-Bit-Bibliotheken verwendet, verwenden Sie bitte android_server, andernfalls android_server64. Ziehen Sie die benötigte Datei per Drag-and-Drop oder verwenden Sie adb push, um sie auf das Android-Gerät hochzuladen, und erteilen Sie ihr Ausführungsrechte.
chmod 755 android_server*
Nachdem Sie die Ausführungsrechte erteilt haben, müssen Sie den android_server-Dienst starten. Sie können dieses ausführbare Programm über adb (erfordert Root-Rechte) oder das Remote-Desktop-Terminal ausführen. Bei neueren Systemversionen (>=10) muss die Umgebungsvariable IDA_LIBC_PATH vorab gesetzt werden.
IDA_LIBC_PATH=/apex/com.android.runtime/lib64/bionic/libc.so ./android_server64 -kk
Notiz
IDA-Debug-Dienst weiterleiten¶
Für Debugging-Szenarien, die hohe Echtzeit- und Leistungsanforderungen stellen, empfehlen wir die Verwendung einer USB-Verbindung. Stellen Sie sicher, dass Sie das Gerät an den aktuellen Computer angeschlossen und die adb-Autorisierung abgeschlossen haben. Führen Sie anschließend den folgenden Befehl aus.
adb forward tcp:23946 tcp:23946
Notiz
Anwendungs-Debugging starten¶
Wir haben nicht viel Arbeit investiert, sondern lediglich ein Skript für Sie gekapselt, das Ihnen hilft, die meisten der nachfolgenden Schritte automatisch auszuführen. Folgen Sie einfach den Anweisungen der Skriptausgabe. Sie finden das Skript ida.py im Verzeichnis tools des Projekts. Verwenden Sie den folgenden Befehl.
python3 ida.py -d 192.168.0.2 -a com.android.settings

Dabei ist der Parameter -d die IP-Adresse Ihres Geräts, d.h. die IP des Geräts, auf dem der FIRERPA-Dienst läuft, und der Parameter -a ist der Paketname der Anwendung. Nach Ausführung des Befehls werden Sie aufgefordert, Ihre IDA-Software an den Anwendungsprozess anzuhängen.



So, der gesamte Vorgang ist abgeschlossen. Bitte kehren Sie zur Kommandozeile von ida.py zurück und drücken Sie die Eingabetaste. Jetzt können Sie mit dem Debugging fortfahren.