Manche Nutzer möchten die in ihren Backups gespeicherten Rohdateien im Expertenmodus direkt bearbeiten. Das sind oft SQLite-Datenbanken (.sqlite3, .sqllitedb und .db) oder Plist-Dateien (meist .plist).
iPhone Backup Extractor enthält einen integrierten Plist-Editor, und Nutzer können ihre Daten automatisch in die Formate PDF, HTML, VCard, ICAL, VCF oder CSV exportieren, um leicht darauf zuzugreifen. Wer jedoch Daten aus diesen Dateien extrahieren möchte, braucht einen SQLite-Datenbank-Client.
Wie kann ich mit SQLite-Datenbanken arbeiten?
Probiere eine dieser drei Anwendungen aus:
- SQLiteFlow (kostenpflichtig, macOS und iOS). SQLiteFlow ist unser bevorzugtes SQLite-Tool für macOS.
- Base 2 (kostenpflichtig, macOS). Base ist eines unserer zweitliebsten SQLite-Tools für macOS und als direkter Download und als App im App Store erhältlich.
- DB Browser for SQLite (kostenlos, macOS und Windows). DB Browser hieß früher SQLite Database Browser. Er ist unser empfohlenes Tool für Windows und kostenlos. Es gibt auch eine Version für macOS.
Kann ich diesen Informationen vertrauen?
Reincubate steht in keiner Verbindung zu diesen Produkten und erhält keine Vergütung dafür, dass wir sie erwähnen.
Wie kann ich direkt mit den Datenbankdateien von Apple arbeiten?
Um zum Beispiel manuell auf Kontaktdaten zuzugreifen, extrahierst du Libray/AddressBook/AddressBook.sqllitedb und öffnest die extrahierte Datei dann mit einem SQLite-Viewer. Wähle den Tab „Execute SQL“ und füge Folgendes in das Feld „SQL string“ ein:
SELECT ABPerson.first, ABPerson.last, ABMultiValue.value
FROM ABPerson, ABMultiValue
WHERE ABMultiValue.record_id = ABPerson.ROWID
Wenn du auf die Schaltfläche Execute Query klickst, sollte im Feld „Data returned“ die vollständige Kontaktliste erscheinen.
Um auf SMS-Daten zuzugreifen, extrahierst du Libray/SMS/SMS.db, öffnest die extrahierte Datei mit dem SQLite-Viewer, wählst den Tab Browse data und dann im Dropdown-Menü Table den Eintrag message aus. Wenn du auf die Lupen-Schaltfläche klickst, sollte im Feld „Data returned“ dein vollständiger SMS-Verlauf erscheinen.
Einer unserer Nutzer fand die folgende Abfrage hilfreich, daher nehmen wir sie hier für unsere Nutzer auf. Beachte, dass sich Datenbankformate zwischen iOS-Versionen ändern, sodass diese Abfragen im Lauf der Zeit oft angepasst werden müssen.
SELECT ROWID,
ABPerson.first,
ABPerson.last,
ABPerson.Organization AS organization,
ABPerson.Department AS department,
DATETIME(ABPerson.Birthday + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Birthday,
ABPerson.JobTitle as jobtitle,
ABPerson.Organization,
ABPerson.Department,
ABPerson.Note,
ABPerson.Nickname,
DATETIME(ABPerson.CreationDate + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Created,
DATETIME(ABPerson.ModificationDate + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Modified,
( SELECT value FROM ABMultiValue
WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
SELECT ROWID FROM ABMultiValueLabel
WHERE value = '_$!<Work>!$_'
)
) AS phone_work,
( SELECT value FROM ABMultiValue
WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
SELECT ROWID FROM ABMultiValueLabel
WHERE value = '_$!<Mobile>!$_'
)
) AS phone_mobile,
( SELECT value FROM ABMultiValue
WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
SELECT ROWID FROM ABMultiValueLabel
WHERE value = '_$!<Home>!$_'
)
) AS phone_home,
( SELECT value FROM ABMultiValue
WHERE property = 4 AND record_id = ABPerson.ROWID AND label IS null
) AS email,
( SELECT value FROM ABMultiValueEntry
WHERE parent_id IN (
SELECT ROWID FROM ABMultiValue WHERE record_id = ABPerson.ROWID
) AND key = (
SELECT ROWID FROM ABMultiValueEntryKey WHERE lower(value) = 'street'
)
) AS address,
( SELECT value FROM ABMultiValueEntry
WHERE parent_id IN (
SELECT ROWID FROM ABMultiValue WHERE record_id = ABPerson.ROWID
) AND key = (
SELECT ROWID FROM ABMultiValueEntryKey WHERE lower(value) = 'city'
)
) AS city
FROM ABPerson
ORDER BY ABPerson.first
Wir pflegen hier eine Liste mit wichtigen Dateien verschiedener Apps.
Die Datums- und Zeitfelder werden nur als Zahlen ausgegeben. Wie kann ich sie interpretieren?
Möglicherweise fällt es dir schwer, einige Felder in den Datenbanken zu interpretieren. Vergiss nicht: iPhone Backup Extractor kann die Daten automatisch für dich extrahieren. Wenn du es aber allein versuchst, wirst du feststellen, dass Datumsangaben je nach Position des Datumsfelds entweder als Anzahl der Sekunden seit 2001-01-01 oder 1970-01-01 dargestellt werden. In Excel könntest du eine Formel wie =1/1/2001 + A1/60/60/24 verwenden, wobei A1 deine Zeitdaten sind. Möglicherweise musst du den Wert auch an deine lokale Zeitzone anpassen.
