Hoe gegevens op te vragen uit iTunes-backup SQLite- en Plist-bestanden

bijgewerkt
Cover image for: Hoe gegevens op te vragen uit iTunes-backup 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 twee toepassingen proberen:

  • DB-browser voor SQLite . DB-browser werd de SQLite Database Browser genoemd. Het is onze aanbevolen tool voor Windows, en het is gratis. Ze bieden ook een versie voor macOS.
  • Base 2 . Base is onze favoriete SQLite-tool voor macOS en is beschikbaar als een directe download- en app store-app .

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 contactlijst weergegeven die wordt weergegeven in het veld "Gegevens geretourneerd".

Om toegang te krijgen tot SMS-gegevens, moeten gebruikers Libray/SMS/SMS.db , het uitgepakte bestand openen met de SQLite-viewer, het tabblad "Gegevens zoeken" kiezen en vervolgens "bericht" selecteren in de vervolgkeuzelijst "Tabel". Wanneer u op de knop van het vergrootglas klikt, moeten gebruikers hun volledige SMS-geschiedenis zien in het veld "Gegevens geretourneerd".

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.

Over de auteur

Aidan Fitzpatrick richtte in 2008 Reincubate op na het bouwen van 's werelds eerste iPhone-hulpmiddel voor gegevensherstel, iPhone Backup Extractor. Hij heeft bij Google gesproken over ondernemerschap en is afgestudeerd aan de Leadership Academy van de Entrepreneurs 'Organization.

Reincubate's CEO bij Buckingham Palace

Hierboven zijn de leden van Reincubate's team te zien die HM Queen Elizabeth Ⅱ bij Buckingham Palace ontmoeten, nadat ze de UK's hoogste zakelijke prijs hebben ontvangen voor ons werk met Apple-technologie. Lees ons standpunt over privacy, veiligheid en beveiliging .

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 - 2019 Reincubate Ltd. Alle rechten voorbehouden. Geregistreerd in Engeland en Wales #5189175, VAT GB151788978. Reincubate® is een geregistreerd handelsmerk. Privacy en voorwaarden. Wij bevelen 2FA aan. Gebouwd met in Londen.