Sommige gebruikers willen de onbewerkte bestanden in hun back-ups misschien rechtstreeks bewerken met de expertmodus. Die bestaan vaak uit SQLite-databasebestanden (.sqlite3, .sqllitedb en .db) of Plist-bestanden (meestal .plist).
iPhone Backup Extractor heeft een ingebouwde Plist-editor, en gebruikers kunnen hun gegevens automatisch exporteren naar de formaten PDF, HTML, VCard, ICAL, VCF of CSV voor eenvoudige toegang. Wie gegevens uit deze bestanden wil halen, heeft echter een SQLite-databaseclient nodig.
Hoe kan ik werken met SQLite-databases?
Gebruikers kunnen een van deze drie toepassingen proberen:
- SQLiteFlow (betaald, macOS en iOS). SQLiteFlow is ons favoriete SQLite-hulpprogramma voor macOS.
- Base 2 (betaald, macOS). Base is een van onze tweede favorieten onder de SQLite-hulpprogramma’s voor macOS en is beschikbaar als directe download en als app in de App Store.
- DB Browser for SQLite (gratis, macOS en Windows). DB Browser heette vroeger SQLite Database Browser. Het is ons aanbevolen hulpprogramma voor Windows en het is gratis. Er is ook een versie voor macOS.
Kan ik deze informatie vertrouwen?
Reincubate is niet gelieerd aan een van deze producten en ontvangt geen vergoeding voor het noemen ervan.
Hoe kan ik rechtstreeks werken met de databasebestanden van Apple?
Om bijvoorbeeld handmatig bij contactgegevens te komen, extraheer je Libray/AddressBook/AddressBook.sqllitedb en open je het geëxtraheerde bestand met een SQLite-viewer. Kies het tabblad „Execute SQL” en plak dit in het veld „SQL string”:
SELECT ABPerson.first, ABPerson.last, ABMultiValue.value
FROM ABPerson, ABMultiValue
WHERE ABMultiValue.record_id = ABPerson.ROWID
Als je op de knop Execute Query drukt, zou je de volledige contactenlijst moeten zien in het veld „Data returned”.
Om bij sms-gegevens te komen, extraheer je Libray/SMS/SMS.db, open je het geëxtraheerde bestand met de SQLite-viewer, kies je het tabblad Browse data en selecteer je vervolgens message in het keuzemenu Table. Nadat je op de knop met het vergrootglas hebt geklikt, zouden gebruikers hun volledige sms-geschiedenis moeten zien in het veld „Data returned”.
Een van onze gebruikers vond de onderstaande query handig, dus we nemen hem hier op voor onze gebruikers. Houd er rekening mee dat databaseformaten tussen iOS-versies veranderen, dus deze queries moeten na verloop van tijd vaak worden aangepast.
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
We houden hier een lijst bij van sleutelbestanden voor verschillende apps.
De datum- en tijdvelden worden alleen als getallen weergegeven. Hoe kan ik die interpreteren?
Je hebt misschien moeite met het interpreteren van een aantal velden in de databases. Vergeet niet dat iPhone Backup Extractor de gegevens automatisch voor je kan extraheren. Werk je liever zelf, dan zie je dat datums worden weergegeven als het aantal seconden sinds 2001-01-01 of 1970-01-01, afhankelijk van de positie van het datumveld. In Excel kun je een formule gebruiken zoals =1/1/2001 + A1/60/60/24, waarbij A1 je tijdgegevens zijn. Mogelijk moet je de waarde ook aanpassen aan je lokale tijdzone.
