Восстановление sms.db

Предыстория

Сегодня днем ​​я ответил на текст от моей подруги, а затем, по-видимому, забыл спать с моим телефоном, прежде чем положить его обратно в карман. Когда я вытащил его обратно через несколько минут, мой телефон решил нажать «Изменить-> Очистить все» в разговоре, испарив с ней два года и два телефона, имеющих историю SMS. В то время как у меня есть резервная копия телефона, на данный момент это близко к трем неделям, и есть достаточно солидных дискуссий, которые я бы хотел восстановить; Я уже схватил копию sms.db, но я думаю, что метод, который я использовал, пылесосил файл, поэтому в нем нет мягко удаленных текстов.

Мясо вопроса

У меня есть трехнедельная резервная копия моего sms.db , и у меня есть доступ к дате копии ее sms.db Я бы хотел

  1. экспортировать тексты, которые у нее есть, но я не (легко, по крайней мере, CSV)
  2. измените «перспективную» информацию (поле address поле sent/received/deleted/unknown ), сохраняя метку времени и текст
  3. импортировать / объединить эти новые записи в мою старую sms.db копию sms.db
  4. объедините эту обновленную резервную копию с моим текущим sms.db (необязательно /, похоже, для этого есть онлайн-утилита)

Я действительно не знаю SQL, но хочу учиться; проблема в том, что из того, что я понимаю, таблицы в sms.db стали более взаимозависимыми в течение срока действия ОС, и триггеры теперь вызывают функции C, которые не существуют вне телефона, поэтому не просто позвонить один триггер для нескольких записей. Кто-нибудь знает какие-либо способы обойти эту сложность или даже лучше, какие-либо утилиты, которые уже выяснили, как импортировать отдельные записи в sms.db ?

Редактировать:

Я изучал sms.db , и из того, что я могу сказать, отношения довольно просты:

  • для message , мне нужно в основном убедиться, что ROWID любых добавленных сообщений выше текущего максимального ROWID
  • msg_group содержит message:ROWID последнего сообщения для каждого контакта; Я могу найти правильный address в group_member ; group_member:group_id соответствует msg_group:ROWID
  • msg_group имеет хэш-столбец; это, вероятно, будет самым сложным для обновления, так как я не сразу понимаю, что он обновляет, или какой хэш использовать
  • sqlite_sequence не похоже, что он совсем обновлен; его записи кажутся все меньше, чем фактические ROWID, но я предполагаю, что это означает, что мне не придется много возиться с ним.
  • Я не уверен, что вообще смогу изменить msg_pieces : это таблица, отвечающая за обработку нескольких частей MMS-сообщения.

One Solution collect form web for “Восстановление sms.db”

Эй, ты это выяснил? если у вас нет, я предлагаю взглянуть на http://smsmerge.homedns.org/

Я был в том же положении, что и у вас, но мне повезло, и у меня была более поздняя резервная копия.

Дайте мне знать, если вам нужна рука

  • хранить и извлекать изображение в базу данных sqlite для iphone
  • Проблема с ObjectiveC sqlite3
  • «база данных заблокирована» в sqlite в iPhone
  • Шаги по созданию реляционной базы данных (sqlite) в быстрой
  • Удалите несколько таблиц из одного запроса, разделив их с точки с запятой
  • Автономный кеш в приложении iOS sqlite3 становится поврежденным
  • Обновление sqlite3 не работает в ios
  • Ошибка sqlite make statement - нет такой таблицы
  • Как импортировать файл .sqlite3 / .sqlite в приложение ios?
  • как удалить ошибку ": NULL cString '"?
  • Вьетнамский текстовый поиск в Юникоде в SQLite
  • Обновление новой версии для магазина приложений с использованием другой структуры db sqlite
  • Interesting Posts

    Отклонение UIпоповер

    При записи в текстовый файл (добавление) последнее значение, которое я пишу, заменяет все предыдущие значения

    UICollectionView чрезвычайно отстает, когда я просматриваю вверх или вниз

    Ошибка Xcode: выход не может быть подключен к повторному контенту

    Проблема с настраиваемыми базовыми данными класса NSManagedObject в быстром

    Расширяемая ячейка UITableview с использованием NSDictionary в iOS

    Включить UIAlertAction из UIAlertController только после ввода

    Что произойдет, если у меня есть вложенные вызовы dispatch_async?

    Может ли AVAudioRecorder получать частоту звука от микрофона

    Двойное нажатие на UITabBarItem для прокрутки вверх и перезагрузки как приложение Twitter

    Ошибка Nil после выбора изображения в iPad (работает на iPhone)

    UITextView – отключить вертикальную прокрутку

    Сохраняйте элементы пользовательского интерфейса при переходе между UIViewControllers

    Кнопка добавления отключена на странице программы разработчика IOS

    Добавить Twitter.framework в Theos на iPhone

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.