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/24
où A1
représente vos données de temps. Vous devrez peut-être également ajuster la valeur pour tenir compte de votre fuseau horaire local.
par Andrew
You can use this to format the messages (SMS) date field: