Abfragen von Daten aus SQLite- und Plist-Sicherungsdateien für das iPhone

Aktualisierte
Cover image for: Abfragen von Daten aus SQLite- und Plist-Sicherungsdateien für das iPhone

Einige Benutzer möchten möglicherweise die in ihren Sicherungen gespeicherten Rohdateien direkt im Expertenmodus bearbeiten. Diese bestehen häufig aus SQLite-Datenbankdateien ( .sqlite3 , .sqllitedb und .db ) oder Plist-Dateien (normalerweise .plist ).

Der iPhone Backup Extractor enthält einen integrierten Plist-Editor. Die Benutzer können ihre Daten automatisch in die Formate PDF, HTML, VCard, ICAL, VCF oder CSV exportieren, um den Zugriff zu vereinfachen. Benutzer, die Daten aus diesen Dateien extrahieren möchten, benötigen jedoch einen SQLite-Datenbankclient.

Wie kann ich mit SQLite-Datenbanken arbeiten?

Benutzer möchten möglicherweise eine dieser drei Anwendungen ausprobieren:

  • SQLiteFlow (kostenpflichtig, MacOS & iOS). SQLiteFlow ist unser bevorzugtes MacOS SQLite-Tool.
  • Basis 2 (bezahlt, macOS). Base ist eines unserer zweitbeliebtesten SQLite-Tools für macOS und steht als direkter Download und App Store-App zur Verfügung .
  • DB Browser für SQLite (kostenlos, MacOS & Windows). Der DB-Browser wurde früher als SQLite-Datenbankbrowser bezeichnet. Es ist unser empfohlenes Tool für Windows und kostenlos. Sie bieten auch eine Version für macOS.

Wie kann ich direkt mit den Datenbankdateien von Apple arbeiten?

Libray/AddressBook/AddressBook.sqllitedb beispielsweise manuell auf Kontaktdaten zuzugreifen, sollten Benutzer Libray/AddressBook/AddressBook.sqllitedb extrahieren und die extrahierte Datei mit einem SQLite-Viewer öffnen. Wenn Sie die Registerkarte "SQL ausführen" auswählen, fügen Sie diese in das Feld "SQL-Zeichenfolge" ein:

SELECT ABPerson.first, ABPerson.last, ABMultiValue.value
FROM ABPerson, ABMultiValue
WHERE ABMultiValue.record_id = ABPerson.ROWID

Durch Drücken der Schaltfläche " Execute Query ausführen" sollte die vollständige Kontaktliste zurückgegeben werden, die im Feld "Zurückgegebene Daten" angezeigt wird.

Um auf SMS-Daten zuzugreifen, sollten Benutzer Libray/SMS/SMS.db extrahieren, die extrahierte Datei mit dem SQLite-Viewer öffnen, die Registerkarte Browse data Libray/SMS/SMS.db auswählen und dann message aus der Dropdown- Libray/SMS/SMS.db Table auswählen. Wenn Sie auf die Lupentaste klicken, sollte der vollständige SMS-Verlauf im Feld "Zurückgegebene Daten" angezeigt werden.

Einer unserer Benutzer fand die unten stehende Abfrage hilfreich, sodass wir sie hier für unsere Benutzer aufnehmen. Beachten Sie, dass sich die Datenbankformate zwischen den iOS-Versionen ändern, sodass sich diese Abfragen im Laufe der Zeit häufig ändern 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 führen hier eine Liste der Schlüsseldateien für verschiedene Apps .

Die Datums- und Uhrzeitfelder werden nur als Zahlen zurückgegeben. Wie kann ich sie interpretieren?

Sie können Schwierigkeiten haben, eine Reihe von Feldern in den Datenbanken zu interpretieren. Vergessen Sie nicht, dass der iPhone Backup Extractor die Daten automatisch für Sie extrahieren kann! Wenn Sie jedoch alleine 2001-01-01 , sollten Sie feststellen, dass die Datumsangaben abhängig von der Position des Datumsfelds entweder als Anzahl Sekunden seit 2001-01-01 oder 1970-01-01 . In Excel können Sie eine Formel wie =1/1/2001 + A1/60/60/24 wobei A1 Ihre A1 ist. Möglicherweise müssen Sie den Wert auch an Ihre lokale Zeitzone anpassen.

Wie können wir helfen?

Unser Support-Team hilft Ihnen gerne weiter!

Unsere Bürozeiten sind Montag bis Freitag von 9 bis 17 Uhr GMT. Die Zeit ist aktuell 8:46 nachm. GMT.

Wir bemühen uns, auf alle Mitteilungen innerhalb eines Arbeitstages zu antworten.

Unser großartiges Supportteam

Bemerkungen (1)

You can use this to format the messages (SMS) date field:

datetime(date/1000000000 + 978307200,'unixepoch','localtime') as date

Können wir diesen Artikel verbessern?

Wir hören gerne von Nutzern: Warum schicken Sie uns nicht eine E-Mail, schreiben Sie einen Kommentar oder tweeten Sie @reincubate?

© 2008 - 2024 Reincubate Ltd. Alle Rechte vorbehalten. Registriert in England und Wales #5189175, VAT GB151788978. Reincubate® und Camo® sind eingetragene Marken. Datenschutz-Bestimmungen & Begriffe.