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. (Nous ne recevons rien pour avoir fait ces recommandations.)

  • 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 "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 a fondé Reincubate en 2008 après avoir construit le premier outil de récupération de données iPhone au monde, iPhone Backup Extractor. Il a conduit Reincubate à remporter deux fois la plus haute distinction commerciale du Royaume-Uni, a prononcé un discours à Google sur l'entrepreneuriat et est diplômé de la Leadership Academy de l'Organisation des entrepreneurs.

Son travail a été cité dans plus de 20 articles universitaires sur la médecine légale et les données mobiles, y compris «iPhone 3GS Forensics: analyse logique utilisant l'utilitaire de sauvegarde iTunes d'Apple» (Bader, M & Baggli, I, 2010), «iOS Forensic Investigative Methods» (Zdziarski , J, 2013), «Overcoming Forensic Implications with Enhancing Security in iOS» (Gangula, MR, 2019), et «Direct Message Extraction for Automatic Emotional Inference and Drug Detection» (Fong, G, 2019).

Plus tôt dans sa carrière, il a été CTO chez Wiggle jusqu'à sa sortie de 230 millions de dollars. Aidan est un investisseur occasionnel et a publié " Alors, vous voulez travailler dans la technologie? " En 2016.

PDG de Reincubate au Buckingham Palace

Pictured left are members of Reincubate’s team meeting HM Queen Elizabeth Ⅱ at Buckingham Palace, after being awarded the UK’s highest business award for our work with Apple technology.

Our position on privacy and security

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 12:34 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 - 2020 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. Politique de confidentialité & termes. Nous recommandons l'authentification multi-facteurs. Construit avec à Londres.