Comment interroger des données à partir de fichiers de sauvegarde SQLite et Plist iTunes

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

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 deux applications:

  • Navigateur de base de données pour SQLite . Le navigateur de base de données s'appelait auparavant 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.
  • Base 2 Base est notre outil SQLite préféré pour macOS. Il est disponible en téléchargement direct et en application App Store .

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 "Exécuter la requête" pour afficher la liste complète des contacts indiqué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 le visualiseur SQLite, choisir l'onglet "Parcourir les données", puis sélectionner "message" dans la liste déroulante "Table". En cliquant sur le bouton en forme de loupe, les utilisateurs doivent voir l'historique complet de leurs SMS affiché 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.

A propos de l'auteur

Aidan Fitzpatrick a fondé Reincubate en 2008 après avoir construit le premier outil de récupération de données pour iPhone au monde, iPhone Backup Extractor. Il a parlé de l'esprit d'entreprise chez Google et est diplômé de la Leadership Academy de la Entrepreneurs 'Organisation.

PDG de Reincubate au Buckingham Palace

Les photos ci-dessus illustrent les membres de l'équipe de Reincubate réunis au Buckingham Palace avec Sa Majesté la reine Elizabeth, après avoir reçu le prix le plus prestigieux du Royaume-Uni pour leur travail avec la technologie Apple. Lisez notre position sur la vie privée, la sécurité et la sûreté .

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 4:24 Matin GMT.

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

Aller à la section support › Contactez le support ›
Notre superbe équipe de support

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 - 2019 Reincubate Ltd. Tous droits réservés. Enregistré en Angleterre et au Pays de Galles #5189175, VAT GB151788978. Reincubate® est une marque déposée. Confidentialité et modalités. Nous recommandons l'authentification multi-facteurs. Construit avec à Londres.