In iOS 4.0 hat Apple den Sicherungsprozess neu gestaltet.
iTunes hat zum Speichern einer Liste von Dateinamen, die mit Sicherungsdateien verknüpft sind, in der Datei Manifest.plist gespeichert. In iOS 4.0 wurden diese Informationen jedoch in eine Manifest.mbdb verschoben
Sie können ein Beispiel für diese Datei anzeigen, indem Sie ein Backup mit Ihren iOS 4.0-Geräten erstellen und in Ihrem Ordner ~ / Library / Application Support / MobileSync / Backup nachsehen (in den Unterordnern mit dem neuesten Datum nachsehen).
Hier ist ein Screenshot davon, wie die Datei in einem Texteditor aussieht:
(Quelle: supercrazyawesome.com )
Wie analysiere ich dies in eine Cocoa-Anwendung, damit ich meine (kostenlose) iPhone Backup Extractor-App ( http://supercrazyawesome.com ) für iOS 4.0 aktualisieren kann ?
Antworten:
Vielen Dank, user374559 und reneD - dieser Code und diese Beschreibung sind sehr hilfreich.
Mein Versuch, Python zu verwenden, um die Informationen in einem Unix-ls-l-ähnlichen Format zu analysieren und auszudrucken:
quelle
In iOS 5 wurde die Datei Manifest.mbdx entfernt. Für den Zweck dieses Artikels war es ohnehin redundant, da sich die Domäne und der Pfad in Manifest.mbdb befinden und der ID-Hash mit SHA1 generiert werden kann.
Hier ist mein Update des Galloglass-Codes, damit es mit Backups von iOS 5-Geräten funktioniert. Die einzigen Änderungen sind das Entfernen von process_mbdx_file () und das Hinzufügen einiger Zeilen in process_mbdb_file ().
Getestet mit Backups eines iPhone 4S und eines iPad 1, beide mit vielen Apps und Dateien.
quelle
Ich habe meine Arbeit an diesem Zeug beendet - das heißt, iOS 4 + iTunes 9.2-Update meiner Backup-Decoder-Bibliothek für Python - http://www.iki.fi/fingon/iphonebackupdb.py
Es macht was ich brauche, wenig Dokumentation, aber zögern Sie nicht, Ideen von dort zu kopieren ;-)
(Scheint zumindest mit meinen Backups gut zu funktionieren.)
quelle
Informationen und eine kleine Beschreibung des MBDB / MBDX-Formats finden Sie hier:
http://code.google.com/p/iphonebackupbrowser/
Dies ist meine Anwendung zum Durchsuchen der Sicherungsdateien. Ich habe versucht, das Format der neuen Dateien zu dokumentieren, die mit iTunes 9.2 geliefert werden.
quelle
Dieses Python-Skript ist fantastisch.
Hier ist meine Ruby-Version (mit geringfügigen Verbesserungen) und Suchfunktionen. (für iOS 5)
quelle
Ich mochte den Code von Galloglas und habe die Hauptfunktion so geändert, dass eine sortierte Liste der Gesamtgröße nach Anwendung angezeigt wird:
Auf diese Weise können Sie herausfinden, welche Anwendung den gesamten Speicherplatz beansprucht.
quelle
Für diejenigen, die nach einer Java-Implementierung eines MBDB-Dateireaders suchen, gibt es mehrere:
Projekt "iPhone Analyzer" (sehr sauberer Code): http://sourceforge.net/p/iphoneanalyzer/code/HEAD/tree/trunk/library/src/main/java/com/crypticbit/ipa/io/parser/manifest /Mbdb.java
Projekt "iPhone Stalker": https://code.google.com/p/iphonestalker/source/browse/trunk/src/iphonestalker/util/io/MBDBReader.java
quelle
Dank der Antwort von Galloglass. Der Code funktioniert hervorragend mit Python 2.7. Es gibt nur eine Sache, die ich treffen möchte. Wenn Sie die Datei manifest.mbdb lesen, sollten Sie den Binärmodus verwenden. Andernfalls werden nicht alle Inhalte gelesen.
Ich habe auch einige kleinere Änderungen vorgenommen, damit der Code mit Python 3.4 funktioniert. Hier ist der Code.
quelle
value = (value<<8) + ord(data[offset])