In seiner endlosen Güte und Uneigennützigkeit sichert Google mindestens einmal am Tag alle Daten meines Android-Telefons. Über Das Google ONE – Portal kann ich mir diese dann über einen Link ansehen (siehe Screenshots). Mehr aber auch nicht. Wenn ich also die Daten einer Android-App sichern und danach auch selbst auf meine eigenen Daten zugreifen möchte, dann muss ich ein paar Handstände machen. Diese beschreibe ich hier.
Auf Android selbst kann ich die Daten einer App nur dann sichern, wenn diese App das auch selbst anbietet. Ansonsten ist deren Daten-Verzeichnis vor dem Zugriff anderer Apps geschützt. Das ergibt natürlich Sinn, lässt mich die Daten der App aber nicht sehen. Hier hilft dann nur die Android Debug Bridge (adb). Dieses kleine Tool steckt in den Linux-Repositories vieler Distributionen und kann mit Befehlen wie sudo apt install adb einfach installiert werden. Das Tool ermöglicht es, per USB auf das eigene Smartphone und dessen Daten zuzugreifen.
Das Android-Smartphone muss zunächst in den Entwickler-Modus gebracht werden. Das klingt wissenschaftlicher als es ist 🙃. Solange es nicht in diesem Modus ist, kann sich auch nicht einfach jemand mein Telefon schnappen und meine Daten klauen. Den kleinen Umweg sollte man also gern gehen. In den Einstellungen des Telefons gibt es den Link „Über das Telefon„. Ganz unten steht dort die Build-Nummer. Auf diese muss sieben Mal getappt werden. Danach wird noch einmal nach dem Passwort des Telefons gefragt und schon ist man Entwickler. Als Entwickler sieht man jetzt in den Einstellungen unter „System“ die Entwickleroptionen. Hier ist im Bereich Debugging noch das „USB-Debugging“ zu erlauben. Wenn nun das Telefon per USB-Kabel mit dem Rechner verbunden wird und der adb-Dienst aktiv ist, muss dem USB-Zugriff noch einmal zugestimmt werden. Screenshots hierzu habe ich in den Bildern zum Artikel hinterlegt.
Jetzt sollte der Zugriff auf des Telefon per adb möglich sein. Auf der Kommandozeile kann dies mit dem Befehl adb devices getestet werden. Die Seriennummer (Einstellungen -> Über das Telefon -> Modell -> Seriennummer) sollte nun aufgelistet werden. Wenn dies nicht der Fall ist, dann passt vielleicht etwas mit der USB-Verbindung nicht oder adb muss einmal neu initialisiert werden: adb kill-server. Wenn hinter der Seriennummer ein „unauthorized“ anstelle eines „device“ steht, dann muss auf dem Telefon der USB-Verbindung noch zugestimmt werden.
Die folgenden Befehle bekommen als Parameter die Seriennummer (<SID>), die adb devices auflistet. Der erste Befehl dient dazu, den Namen des Pakets zu finden. Als <NAME> ist dann folglich ein passender Suchbegriff einzutragen 😉. Der dritte Befehl nutzt dann einen Python2-Aufruf, um die erhaltene backup.ab-Datei in ein nutzbares Tar-Archiv zu verwandeln:
1 2 3 |
adb -s <SID> shell pm list packages | grep -i <NAME> adb -s <SID> backup -noapk <NAME DER APP> dd if=backup.ab bs=1 skip=24 | python2 -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" > backup.tar |
Nun kann die Datei backup.ab gelöscht werden. Die Daten der App stecken im Archiv backup.tar.
Zum Schluss sollte nicht vergessen werden, das USB-Debugging in den Entwickler-Tools wieder abzuschalten und danach über die große Kachel die Entwickler-Tools selbst wieder verschwinden zu lassen. Im Alltag wäre das sonst ein potentielles Sicherheitsrisiko. In meinem Blog-Artikel über den Instagram Hashtag Manager Leetags habe ich das mal an einem praktischen Beispiel durchexerziert.
Keine Antworten