Hier finden Sie Hintergrundinformationen zum .ab-Dateiformat.
Die Android-Sicherungsdatei (* .ab) ist eine komprimierte TAR- Datei. Es wird mit dem DEFLATE- Algorithmus komprimiert . Darüber hinaus kann eine AES-Verschlüsselung verwendet werden. Dies wird beim Erstellen der Sicherung festgelegt. Wenn Sie ein Kennwort eingeben, wird die Sicherung verschlüsselt. Es gibt keine Verschlüsselung, es wird nur komprimiert.
Der HEADER der Datei unterscheidet sich ein wenig von einem normalen DEFLATE-Archiv. Es enthält Informationen zur Sicherung und sieht folgendermaßen aus:
ANDROID BACKUP
1
1
none
Die erste Zeile ist die "Magic" -Zeile . Die nächste Zeile ist die Version des Android Backup-Dateiformats. Die nächste Zeile ist ein Boolescher Wert (true oder false, 1 oder 0), der angibt, ob die Datei komprimiert ist. Die letzte Zeile gibt die Art der Verschlüsselung an. In diesem Beispiel wird keine Verschlüsselung verwendet. Wenn es ein Passwort gäbe, würde die Zeile "AES-256" lauten. Danach folgt die Verschlüsselung. Wenn kein Passwort vorhanden ist, startet das DEFLATE "Archiv".
Es wird mit dem Java Deflater komprimiert . Was aus Entwicklersicht zu Problemen führt, wenn Sie etwas anderes als Java zum Extrahieren verwenden möchten. Ich habe mit dem gleichen Algorithmus nichts gefunden, das die Luft entleeren könnte, obwohl alles, was ich gefunden habe (zum Beispiel C #), dem "SPEC" folgen soll.
Vor diesem Hintergrund gibt es ein Open-Source-Projekt unter der Apache 2.0-Lizenz von Nikolay Elenkov , mit dem Sie die .ab-Datei in eine tar-Datei extrahieren können.
Verwendungszweck:
java -jar abe.jar unpack <backup.ab> <backup.tar> <password>
Wenn Sie sich nicht sicher sind, wie Sie das wirklich verwenden sollen (was über den Rahmen dieser Antwort hinausgeht), können Sie mit der nächsten Version von Droid Explorer v0.8.8.7 ( hier verfügbar ) genau dies und mehr direkt aus dem Explorer heraus tun. Sie können mehr über die Funktionen in meinem Blog lesen (ja, ich weiß, schamloser Stecker. Ich mache das, wenn es die Frage passt)