Gegevens opvragen uit iPhone-back-up SQLite- en Plist-bestanden

bijgewerkt
Cover image for: Gegevens opvragen uit iPhone-back-up SQLite- en Plist-bestanden

Sommige gebruikers willen mogelijk de onbewerkte bestanden die zijn opgeslagen in hun back-ups direct manipuleren met behulp van de expertmodus. Deze bestaan vaak uit SQLite-database ( .sqlite3 , .sqllitedb en .db ) of Plist-bestanden (meestal .plist ).

iPhone Backup Extractor bevat een ingebouwde Plist-editor en de gebruikers kunnen hun gegevens automatisch exporteren naar PDF-, HTML-, VCard-, ICAL-, VCF- of CSV-indelingen voor eenvoudige toegang. Gebruikers die gegevens uit deze bestanden willen ophalen, hebben echter een SQLite-databaseclient nodig.

Hoe kan ik met SQLite-databases werken?

Gebruikers willen misschien een van deze drie toepassingen proberen:

  • SQLiteFlow (betaald, macOS en iOS). SQLiteFlow is onze macOS SQLite-tool bij uitstek.
  • Base 2 (betaald, macOS). Base is een van onze op één na favoriete SQLite-tools voor macOS en is beschikbaar als directe download- en App Store-app .
  • DB Browser voor SQLite (gratis, macOS & Windows). DB Browser heette vroeger de SQLite Database Browser. Het is onze aanbevolen tool voor Windows en het is gratis. Ze bieden ook een versie voor macOS.

Hoe kan ik rechtstreeks met databasebestanden van Apple werken?

Als u bijvoorbeeld handmatig toegang wilt tot contactgegevens, moeten gebruikers Libray/AddressBook/AddressBook.sqllitedb extraheren en vervolgens het geëxtraheerde bestand openen 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 u op de knop Execute Query drukt, wordt de volledige lijst met contactpersonen weergegeven die wordt weergegeven in het veld "Geretourneerde gegevens".

Om toegang te krijgen tot SMS-gegevens, moeten gebruikers Libray/SMS/SMS.db , het uitgepakte bestand openen met de SQLite-viewer, het tabblad Browse data kiezen en vervolgens message selecteren in de vervolgkeuzelijst Table . Door op de vergrootglasknop te klikken, zouden gebruikers hun volledige SMS-geschiedenis moeten zien in het veld "Geretourneerde gegevens".

Een van onze gebruikers vond de onderstaande zoekopdracht nuttig, dus we voegen deze hier toe aan onze gebruikers. Houd er rekening mee dat database-indelingen tussen iOS-versies veranderen, dus deze query's moeten vaak in de loop van de tijd worden gewijzigd.

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 met sleutelbestanden voor verschillende apps .

De velden voor datum en tijd komen gewoon terug als getallen, hoe kan ik ze interpreteren?

U kunt moeite hebben om een aantal velden in de databases te interpreteren. Vergeet niet dat de iPhone Backup Extractor de gegevens automatisch voor u kan extraheren! Als u het echter alleen doet, moet u erachter komen dat de datums worden weergegeven als het aantal seconden sinds 2001-01-01 of 1970-01-01 , afhankelijk van de positie van het datumveld. In Excel kunt u een formule gebruiken zoals =1/1/2001 + A1/60/60/24 waarbij A1 uw A1 is. U moet mogelijk ook de waarde aanpassen om rekening te houden met uw lokale tijdzone.

Hoe kunnen we helpen?

Ons ondersteuningsteam is er om u te helpen!

Onze kantooruren zijn van maandag tot vrijdag van 09.00 tot 17.00 uur GMT. De tijd is momenteel 7:30 AM GMT.

We streven ernaar om alle berichten binnen één werkdag te beantwoorden.

Ons geweldige ondersteuningsteam

Comments (1)

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

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

Kunnen we dit artikel verbeteren?

We horen graag van gebruikers: Stuur ons een e-mail, laat een reactie achter of stuur een tweet @reincubate?

© 2008 - 2024 Reincubate Ltd. Alle rechten voorbehouden. Geregistreerd in Engeland en Wales #5189175, VAT GB151788978. Reincubate® en Camo® zijn geregistreerde handelsmerken. Privacybeleid & termen.