Come interrogare i dati da file di backup SQLite e Plist di iTunes

aggiornato
Cover image for: Come interrogare i dati da file di backup SQLite e Plist di iTunes

Alcuni utenti potrebbero voler manipolare direttamente i file raw memorizzati nei loro backup utilizzando la modalità esperto. Questi sono spesso composti da database SQLite (file .sqlite3 , .sqllitedb e .db ) o Plist (solitamente .plist ).

iPhone Backup Extractor include un editor Plist incorporato e gli utenti sono in grado di esportare automaticamente i propri dati in formato PDF, HTML, VCard, ICAL, VCF o CSV per un facile accesso. Tuttavia, gli utenti che desiderano estrarre i dati da questi file avranno bisogno di un client di database SQLite.

Come posso lavorare con i database SQLite?

Gli utenti potrebbero voler provare una di queste due applicazioni:

  • DB Browser per SQLite . DB Browser si chiamava SQLite Database Browser. È il nostro strumento consigliato per Windows ed è gratuito. Forniscono anche una versione per macOS.
  • Base 2 . Base è lo strumento SQLite preferito per macOS ed è disponibile come download diretto e app App Store .

Come posso lavorare direttamente con i file di database di Apple?

Ad esempio, per accedere manualmente ai dati di contatto, gli utenti devono estrarre Libray/AddressBook/AddressBook.sqllitedb e quindi aprire il file estratto con un visualizzatore SQLite. Scegliendo la scheda "Esegui SQL", incollala nel campo "Stringa SQL":

SELECT ABPerson.first, ABPerson.last, ABMultiValue.value
FROM ABPerson, ABMultiValue
WHERE ABMultiValue.record_id = ABPerson.ROWID

Premendo il pulsante "Esegui query" è necessario restituire l'elenco completo dei contatti visualizzato nel campo "Dati restituiti".

Per accedere ai dati SMS, gli utenti devono estrarre Libray/SMS/SMS.db , aprire il file estratto con il visualizzatore SQLite, selezionare la scheda "Sfoglia dati" e quindi selezionare "messaggio" dal menu a discesa "Tabella". Facendo clic sul pulsante della lente di ingrandimento, gli utenti dovrebbero vedere la loro intera cronologia SMS visualizzata nel campo "Dati restituiti".

Uno dei nostri utenti ha trovato utile la query qui sotto, quindi la stiamo includendo qui per i nostri utenti. Tieni presente che i formati di database cambiano tra le versioni iOS, quindi queste query spesso devono cambiare nel tempo.

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

Manteniamo qui un elenco di file chiave per varie app .

I campi data e ora tornano come numeri, come posso interpretarli?

Potresti non riuscire a interpretare un numero di campi nei database. Non dimenticare, iPhone Backup Extractor può estrarre i dati automaticamente per te! Tuttavia, se stai andando da solo, dovresti trovare le date sono rappresentate come il numero di secondi dal 2001-01-01 , o 1970-01-01 , a seconda della posizione del campo della data. In Excel, è possibile utilizzare una formula come =1/1/2001 + A1/60/60/24 cui A1 è il tuo dato temporale. Potrebbe inoltre essere necessario regolare il valore per tenere conto del fuso orario locale.

Circa l'autore

Aidan Fitzpatrick ha fondato Reincubate nel 2008 dopo aver realizzato il primo strumento di recupero dati per iPhone, iPhone Backup Extractor. Ha parlato a Google di imprenditorialità e si è laureato alla Leadership Academy dell'Organizzazione degli imprenditori.

Reincubate's CEO presso Buckingham Palace

Nella foto sopra sono membri del team di Reincubate che incontra HM Queen Elizabeth Ⅱ a Buckingham Palace, dopo aver ricevuto il premio aziendale più alto del Regno Unito per il nostro lavoro con la tecnologia Apple. Leggi la nostra posizione sulla privacy, sicurezza e protezione .

Come possiamo aiutare?

Il nostro team di supporto è qui per aiutarti!

I nostri orari di ufficio sono dal lunedì al venerdì, dalle 9:00 alle 17:00 GMT. L'ora è attualmente 5:24 PM GMT.

Miriamo a rispondere a tutti i messaggi entro un giorno lavorativo.

Vai alla sezione di supporto › Contattaci ›
Il nostro fantastico team di supporto

Possiamo migliorare questo articolo?

Ci piace ascoltare gli utenti: perché non mandarci un'email, lasciare un commento o twittare @reincubate?

© 2008 - 2019 Reincubate Ltd. Tutti i diritti riservati. Registrato in Inghilterra e Galles #5189175, VAT GB151788978. Reincubate® è un marchio registrato. Termini e Condizioni. Raccomandiamo 2FA. Costruito con a Londra.