Как прочитать данные в файле резервной копии HTC Desire SMS?

К сожалению, мое приложение HTC Desire SMS вышло из строя (официальная версия HTC для Android 2.2), все SMS и MMS были потеряны. Когда я пытался выполнить восстановление из резервной копии файла SMS (созданного приложением Desire SMS), но это не сработало, запрос не помог восстановить. Но я обнаружил, что на самом деле большая часть SMS и MMS была восстановлена, а некоторые важные все еще отсутствуют. Я хочу открыть файл резервной копии напрямую, чтобы прочитать пропущенное SMS, как это сделать? Кто-то сказал, что файл резервной копии — это файл SQLite, верно?

Ответы (2)

Все сообщения в Android хранятся в базе данных SQlite на мобильном телефоне. Итак, я предполагаю, что это приложение для резервного копирования Desire просто копирует эту базу данных в доступную папку (предположительно, на SD-карту).
Поскольку это файл SQLite, вы можете просто загрузить и использовать браузер SQLite и просмотреть там SMS.

Большое спасибо за ответ. Файл резервной копии SMS хранится в папке /mnt/sdcard/sms_backup. Я скопировал его на свой компьютер (Windows 7) и попытался загрузить его с помощью SQLite3. С командой .schema выдавало ошибку: файл зашифрован или не является базой данных. Кажется, не работает.
в этом случае вы можете попробовать расшифровать файл. Хотя сомневаюсь, что это точно поможет. Вы можете использовать один из следующих: SQLiteCrypt API или SQLite Encryption Ext. или SQLite CEROD . Опять же, создайте копию файла, прежде чем применять эти методы.
Я попробовал SQLiteCrypt, проблема в том, что я не знаю пароль шифрования. Если бы я попытался изменить пароль с помощью .changepass, это тоже не сработало бы. Я сделал новый файл резервной копии SMS тем же методом, который может быть правильно восстановлен HTC Desire. Однако новый файл нельзя открыть с помощью SQLite3 или SQLiteCrypt. Я предполагаю, что HTC что-то изменила в файле резервной копии.
либо так, либо это совсем другой файл.
Да согласен. Не знаете, читал ли кто-нибудь содержимое файла резервной копии SMS?
Стандартный заголовок SQLite должен начинаться с «SQLite format 3» или содержать «SQLenc», если он зашифрован. Я проверил файл, и это не так.

Попробуйте stringsвыполнить команду unix напрямую с файлом db. Это выполнит поиск в двоичном файле db удобочитаемых строк и выведет их на консоль.