Comment interroger les données des fichiers SQLite et Plist de sauvegarde iPhone

Mis à jour
Cover image for: Comment interroger les données des fichiers SQLite et Plist de sauvegarde iPhone

Certains utilisateurs peuvent souhaiter manipuler directement les fichiers bruts stockés dans leurs sauvegardes à l'aide du mode expert. Ils se composent souvent de .sqlite3 de base de données SQLite ( .sqlite3 , .sqllitedb et .db ) ou de fichiers Plist (généralement .plist ).

iPhone Backup Extractor comprend un éditeur Plist intégré et ses utilisateurs peuvent exporter automatiquement leurs données au format PDF, HTML, VCard, ICAL, VCF ou CSV pour un accès facile. Cependant, les utilisateurs souhaitant extraire des données de ces fichiers auront besoin d'un client de base de données SQLite.

Comment puis-je travailler avec des bases de données SQLite?

Les utilisateurs peuvent vouloir essayer l'une de ces trois applications:

  • SQLiteFlow (payant, macOS et iOS). SQLiteFlow est notre outil macOS SQLite de choix.
  • Base 2 (payant, macOS). Base est l'un de nos deuxièmes outils SQLite préférés pour macOS, et est disponible en téléchargement direct et application App Store .
  • Navigateur DB pour SQLite (gratuit, macOS et Windows). Le navigateur de base de données était auparavant appelé navigateur de base de données SQLite. C'est notre outil recommandé pour Windows, et c'est gratuit. Ils fournissent également une version pour macOS.

Comment puis-je travailler directement avec les fichiers de base de données Apple?

Par exemple, pour accéder manuellement aux données de contact, les utilisateurs doivent extraire Libray/AddressBook/AddressBook.sqllitedb , puis ouvrir le fichier extrait avec un visualiseur SQLite. En choisissant l'onglet "Execute SQL", collez-le dans le champ "Chaîne SQL":

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

Appuyez sur le bouton Execute Query pour renvoyer la liste complète des contacts affichée dans le champ «Données renvoyées».

Pour accéder aux données SMS, les utilisateurs doivent extraire Libray/SMS/SMS.db , ouvrir le fichier extrait avec la visionneuse SQLite, choisir l'onglet Browse data , puis sélectionner le message dans la liste déroulante Table . En cliquant sur le bouton de la loupe, les utilisateurs doivent voir leur historique SMS complet dans le champ "Données renvoyées".

Un de nos utilisateurs a trouvé la requête ci-dessous utile, nous l'incluons donc ici pour nos utilisateurs. N'oubliez pas que les formats de base de données changent entre les versions d'iOS. Par conséquent, ces requêtes doivent souvent évoluer dans le temps.

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

Nous maintenons une liste de fichiers de clés pour différentes applications ici.

Les champs date et heure ne sont que des chiffres, comment puis-je les interpréter?

Vous pouvez avoir du mal à interpréter un certain nombre de champs dans les bases de données. N'oubliez pas que iPhone Backup Extractor peut extraire les données automatiquement pour vous! Cependant, si vous y allez seul, vous devriez trouver que les dates sont 1970-01-01 nombre de secondes depuis le 2001-01-01 ou le 1970-01-01 , selon la position du champ de date. Dans Excel, vous pouvez utiliser une formule telle que =1/1/2001 + A1/60/60/24A1 représente vos données de temps. Vous devrez peut-être également ajuster la valeur pour tenir compte de votre fuseau horaire local.

Comment pouvons nous aider?

Notre équipe de support est là pour vous aider!

Nos bureaux sont ouverts du lundi au vendredi, de 9 h à 17 h GMT. L’heure est actuellement 8:39 Matin GMT.

Notre objectif est de répondre à tous les messages en un jour ouvrable.

Notre superbe équipe de support

commentaires (1)

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

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

Pouvons-nous améliorer cet article?

Nous aimons entendre les utilisateurs: pourquoi ne pas nous envoyer un email, laisser un commentaire ou tweet @reincubate?

© 2008 - 2024 Reincubate Ltd. Tous droits réservés. Enregistré en Angleterre et au Pays de Galles #5189175, VAT GB151788978. Reincubate® et Camo® sont des marques déposées. Politique de confidentialité & termes.