Как запросить данные из iTunes резервного копирования файлов SQLite и Plist

обновленный
Cover image for: Как запросить данные из iTunes резервного копирования файлов SQLite и Plist

Некоторые пользователи могут напрямую манипулировать необработанными файлами, хранящимися в их резервных копиях, в экспертном режиме. Они часто состоят из базы данных SQLite ( .sqlite3 , .sqllitedb и .db ) или файлов Plist (обычно .plist ).

iPhone Backup Extractor включает встроенный редактор Plist, и его пользователи могут автоматически экспортировать свои данные в форматы PDF, HTML, VCard, ICAL, VCF или CSV для легкого доступа. Однако пользователям, желающим извлечь данные из этих файлов, потребуется клиент базы данных SQLite.

Как я могу работать с базами данных SQLite?

Пользователи могут захотеть попробовать любое из этих двух приложений:

  • Браузер БД для SQLite . Обозреватель БД раньше назывался Обозреватель баз данных SQLite. Это наш рекомендуемый инструмент для Windows, и он бесплатный. Они также предоставляют версию для MacOS.
  • База 2 . Base - наш предпочтительный инструмент SQLite для macOS, который доступен в виде приложения для прямой загрузки и в App Store .

Как я могу работать с файлами базы данных Apple напрямую?

Например, чтобы вручную получить доступ к контактным данным, пользователи должны извлечь Libray/AddressBook/AddressBook.sqllitedb , а затем открыть извлеченный файл с помощью средства просмотра SQLite. Выбрав вкладку «Выполнение SQL», вставьте ее в поле «Строка SQL»:

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

Нажатие кнопки «Выполнить запрос» должно вернуть полный список контактов, показанный в поле «Возвращенные данные».

Чтобы получить доступ к данным SMS, пользователи должны извлечь Libray/SMS/SMS.db , открыть извлеченный файл с помощью средства просмотра SQLite, выбрать вкладку «Просмотр данных», а затем выбрать «сообщение» в раскрывающемся Libray/SMS/SMS.db «Таблица». При нажатии на кнопку увеличительного стекла пользователи должны увидеть свою полную историю SMS-сообщений, отображаемую в поле «Возвращенные данные».

Один из наших пользователей счел этот запрос полезным, поэтому мы включили его здесь для наших пользователей. Имейте в виду, что форматы баз данных меняются в разных версиях iOS, поэтому эти запросы часто нужно менять со временем.

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

Мы поддерживаем список ключевых файлов для различных приложений здесь.

Поля даты и времени просто возвращаются как числа, как я могу их интерпретировать?

Вы можете изо всех сил пытаться интерпретировать много полей в базах данных. Не забывайте, iPhone Backup Extractor может извлечь данные автоматически для вас! Однако, если вы идете в одиночку, вы должны 1970-01-01 , что даты представлены в виде количества секунд с 2001-01-01 или 1970-01-01 зависимости от положения поля даты. В Excel вы можете использовать формулу, такую как =1/1/2001 + A1/60/60/24 где A1 - ваши данные времени. Вам также может потребоваться изменить значение для учета вашего местного часового пояса.

Об авторе

Эйдан Фитцпатрик основал Reincubate в 2008 году после создания первого в мире инструмента для восстановления данных iPhone, iPhone Backup Extractor. Он говорит в Google по вопросам предпринимательства и является выпускником Академии лидерства Организации предпринимателей.

Генеральный директор Reincubate в Букингемском дворце

На снимке выше - встреча членов команды Reincubate Ее Величества Королевы Елизаветы Ⅱ в Букингемском дворце, после того как она была удостоена высшей бизнес-награды Великобритании за нашу работу с технологиями Apple. Прочитайте нашу позицию о конфиденциальности, безопасности и сохранности .

Как мы можем помочь?

Наша служба поддержки здесь, чтобы помочь!

Наш офис работает с понедельника по пятницу с 9:00 до 17:00 по Гринвичу. Время в настоящее время 4:56 ПП с GMT.

Мы стремимся отвечать на все сообщения в течение одного рабочего дня.

Перейти в раздел поддержки › Свяжитесь с нами ›
Наша отличная команда поддержки

Можем ли мы улучшить эту статью?

Нам нравится слышать от пользователей: почему бы не написать нам электронное письмо, оставить комментарий или написать в Твиттере @reincubate?

© 2008 - 2019 Reincubate Ltd. Все права защищены. Зарегистрировано в Англии и Уэльсе #5189175, VAT GB151788978. Reincubate® является зарегистрированным товарным знаком. Защита & Условия. Мы рекомендуем 2FA. Построен с в Лондоне.