Android Debugging über KGDB

Originalbeitrag von Jack Tang, Threats Analyst

Kernel Debugging stellt für Forscher ein Tool dar, um ein Gerät über Analyse zu überwachen und zu kontrollieren. Dies gestaltet sich auf Desktop-Plattformen wie Windows, macOS und Linux einfach. Doch ist Kernel Debugging auf Android-Geräten wie dem Google Nexus 6P schwieriger. Der Beitrag beschreibt eine Methode, um diese Aufgabe zu bewältigen, ohne dass es spezialisierter Hardware bedarf.

Android baut auf einem Linux-Kernel auf und enthält einen Kernel Debugger KGDB. KGDB nutzt einen seriellen Port für die Verbindung zwischen Debugging- und Ziel-Gerät. Das Bild zeigt ein typisches Szenario:

Bild: KGDB-Funktionsmodell

Der Nutzer auf dem Debugging-Gerät nutzt GDB, um die serielle Gerätedatei (z.B. /dev/ttyS1) anzuschließen. Danach kann GDB mit KGDB im Zielgerät über das serielle Kabel kommunizieren. Die KGDB-Kernkomponente übernimmt die tatsächlichen Debugging-Aufgaben wie etwa das Setzen der Break Point und Übertragen der Daten in den Hauptspeicher. Die KGDB I/O-Komponente dient der Verbindung der KGDB-Hauptkomponente mit den Low-Level seriellen Treibern, um die Übertragung der Debug-Informationen sicherzustellen.

Aber Android-Geräte haben im Allgemeinen keine Hardware seriellen Ports. Somit besteht die erste Herausforderung darin, einen Kanal zu finden, über den diese Informationen an ein Gerät mit DDB außerhalb gesendet werden können. Die praktischste Lösung dafür ist ein USB-Kabel.

Alle technischen Informationen zur Aktion sowie eine schrittweise Anleitung liefert der Originalbeitrag.

Schreibe einen Kommentar

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

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.