Die SmartGear-App für Android bereitet vielen Probleme: sie lässt sich nicht mehr öffnen. Mal abgesehen davon, dass die App sowieso ziemlich schlimm war, sind damit alle Fitness-Daten verloren – oder?
Tatsächlich ist es (für eine gewisse Zielgruppe) ziemlich leicht, an seine Daten zu kommen. Die Datenbank der App liegt nämlich im SQLite-Format vor. Leider ist die aber im privaten App-Speicher, sodass wir zuerst die Android Debug Bridge bemühen müssen.
Voraussetzungen
- Ich benutze für dieses „Tutorial“ Linux Mint.
- Die Android Debug Bridge ist installiert. (Vielleicht hilft adbinstaller.com.)
- dd und Python (alternativ openssl)
- Ein SQLite-Viewer
- Auf dem Smartphone sind die Entwickleroptionen und USB-Debugging aktiviert.
Die App-Daten sichern
Das Smartphone anschließen und sicherstellen, dass ADB funktioniert. Der Befehl adb devices
sollte eine ID und device anzeigen.
adb backup -f smartGear.ab com.jaga.ibraceletplus.sgear
Mit diesem Befehl haben wir im Arbeitsverzeichnis eine Sicherungsdatei der App-Daten erstellt. Die können wir so aber nicht lesen.
Die Datenbank extrahieren
dd if=smartGear.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -
Mit diesem Befehl extrahieren wir die Daten aus der Backup-Datei. Ein apps-Ordner sollte im Arbeitsverzeichnis erschienen sein. Dort suchen wir in diesem Fall nach apps/com.jaga.ibraceletplus.sgear/db/dup_bong.db
.
Offenes Ende…
Wir können nochmal überprüfen, dass es sich um eine SQLite-Datenbank handelt.
$ file smartGear/com.jaga.ibraceletplus.sgear/db/dup_bong.db
smartGear/com.jaga.ibraceletplus.sgear/db/dup_bong.db: SQLite 3.x database, user version 3, last written using SQLite version 3019004
Die Datei können wir nun mit einem beliebigen Viewer öffnen und unsere Fitness-Daten irgendwie exportieren. Ich habe sie in eine Google Docs-Tabelle kopiert und einige Diagramme daraus erstellt.
0 Kommentare