Como consultar dados de arquivos SQLite e Plist de backup do iTunes

Atualizada
Cover image for: Como consultar dados de arquivos SQLite e Plist de backup do iTunes

Alguns usuários podem desejar manipular diretamente os arquivos brutos armazenados em seus backups usando o modo especialista. Eles geralmente são compostos de .sqlite3 de banco de dados SQLite ( .sqlite3 , .sqllitedb e .db ) ou arquivos .plist (normalmente .plist ).

O iPhone Backup Extractor inclui um editor Plist integrado, e seus usuários podem exportar automaticamente seus dados para os formatos PDF, HTML, VCard, ICAL, VCF ou CSV para fácil acesso. No entanto, os usuários que desejam extrair dados desses arquivos precisarão de um cliente de banco de dados SQLite.

Como posso trabalhar com bancos de dados SQLite?

Os usuários podem querer tentar qualquer um desses dois aplicativos:

  • Navegador de banco de dados para SQLite . O Navegador de BD costumava ser chamado de Navegador de Banco de Dados SQLite. É a nossa ferramenta recomendada para o Windows, e é grátis. Eles também fornecem uma versão para o macOS.
  • Base 2 Base é nossa ferramenta preferida do SQLite para macOS e está disponível como um download direto e um aplicativo da App Store .

Como posso trabalhar com arquivos de banco de dados da Apple diretamente?

Como exemplo, para acessar manualmente os dados de contato, os usuários devem extrair o Libray/AddressBook/AddressBook.sqllitedb e, em seguida, abrir o arquivo extraído com um visualizador do SQLite. Escolhendo a aba "Executar SQL", cole isso no campo "SQL string":

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

Pressionar o botão "Executar Consulta" deve retornar a lista de contatos completa mostrada no campo "Dados retornados".

Para acessar os dados do SMS, os usuários devem extrair o Libray/SMS/SMS.db , abrir o arquivo extraído com o visualizador SQLite, escolher a guia "Procurar dados" e, em seguida, selecionar "mensagem" na lista suspensa "Tabela". Ao clicar no botão de lupa, os usuários devem ver o histórico completo do SMS mostrado no campo "Dados retornados".

Um dos nossos usuários considerou a consulta abaixo útil. Por isso, estamos incluindo aqui para nossos usuários. Tenha em mente que os formatos de banco de dados mudam entre as versões do iOS, portanto, essas consultas geralmente precisam mudar com o 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

Mantemos uma lista de arquivos principais para vários aplicativos aqui.

Os campos de data e hora retornam como números, como posso interpretá-los?

Você pode se esforçar para interpretar vários campos nos bancos de dados. Não se esqueça, o iPhone Backup Extractor pode extrair os dados automaticamente para você! No entanto, se você está indo sozinho, você deve encontrar as datas são representadas como o número de segundos desde 2001-01-01 , ou 1970-01-01 , dependendo da posição do campo de data. No Excel, você poderia usar uma fórmula como =1/1/2001 + A1/60/60/24 que A1 é o seu dado de tempo. Você também pode precisar ajustar o valor para considerar seu fuso horário local.

Sobre o autor

Aidan Fitzpatrick fundou a Reincubate em 2008, depois de construir a primeira ferramenta de recuperação de dados do iPhone, o iPhone Backup Extractor. Ele falou no Google sobre empreendedorismo e é formado pela Academia de Liderança da Organização de Empreendedores.

CEO da Reincubate no Palácio de Buckingham

Na foto acima, há membros da equipe de Reincubate que se reúnem com o HM Queen Elizabeth no Buckingham Palace, depois de receber o prêmio mais alto do Reino Unido por nosso trabalho com a tecnologia da Apple. Leia nossa posição sobre privacidade, segurança e proteção .

Como podemos ajudar?

Nossa equipe de suporte está aqui para ajudar!

Nosso horário de atendimento é de segunda a sexta, das 9h às 17h GMT. A hora é atualmente 5:19 AM GMT.

Nosso objetivo é responder a todas as mensagens dentro de um dia útil.

Vá para a seção de apoio › Contate-Nos ›
Nossa equipe de suporte incrível

Podemos melhorar este artigo?

Adoramos ouvir os usuários: por que não nos enviar um e-mail, deixar um comentário ou twittar? @reincubate?

© 2008 - 2019 Reincubate Ltd. Todos os direitos reservados. Registrado na Inglaterra e no País de Gales #5189175, VAT GB151788978. Reincubate® é uma marca registrada. Privacidade e Termos. Recomendamos 2FA. Construído com em Londres.