Zum Hauptinhalt springen

So fragst du Daten aus SQLite- und Plist-Dateien eines iPhone-Backups ab

Aidan Fitzpatrick

Veröffentlicht am 8. März 2018· Aktualisiert am 5. Januar 2021

Cover image for: So fragst du Daten aus SQLite- und Plist-Dateien eines iPhone-Backups ab

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.

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.


Über den Autor

Aidan Fitzpatrick

Gründer, CEO

Aidan gründete Reincubate 2008, nachdem er das weltweit erste iOS-Datenwiederherstellungstool entwickelt hatte. Seitdem hat er das Unternehmen zu einem der weltweit führenden ISVs ausgebaut und arbeitet mit Unternehmen wie AMD, Qualcomm und HP zusammen, um wegweisende Machine-Learning-Funktionen für Videosoftware zu entwickeln – allen voran das Camo-App-Ökosystem. Unter Aidans Führung hat Reincubate viermal die höchste britische Wirtschaftsauszeichnung gewonnen, einen Platz auf der 100-Tech-Liste der Sunday Times erreicht und branchenweite Anerkennung durch Nominierungen für den Apple Design Award und den App Store erhalten. Seine Arbeit und Methoden werden häufig in wissenschaftlichen Arbeiten zur mobilen Forensik zitiert, und er wurde eingeladen, bei Veranstaltungen von Unternehmen wie Google, Microsoft und Snap zu sprechen.


Verwandte Artikel

Brauchst du Hilfe?

Wir bemühen uns, alle Nachrichten innerhalb eines Werktags zu beantworten.

support@reincubate.com
Logo des King's Award for Enterprise

King's Award for Enterprise: Reincubate hat die höchste offizielle Wirtschaftsauszeichnung des Vereinigten Königreichs viermal gewonnen, zuletzt in Anerkennung des herausragenden Wachstums des Unternehmens in den vergangenen drei Jahren.

Unsere Beziehungen zu Nutzern und Partnern stehen im Mittelpunkt unserer Werte und der Produkte, die wir entwickeln. Lies unsere Bewertungen, um zu erfahren, was sie über uns sagen.

Nach ISO 27001 zertifiziert durch das Centre for Assessment, akkreditiert durch UKAS

© 2008-2026 Reincubate Ltd. Alle Rechte vorbehalten. Eingetragen in England und Wales unter der Nr. 5189175, USt-IdNr. GB151788978. Camo®, Streamlight® und Reincubate® sind eingetragene Marken. Patente angemeldet.

Hilfe