Просмотр / сброс зашифрованной базы данных Android SMS - PullRequest
0 голосов
/ 03 апреля 2012

Я хотел отладить некоторые проблемы с SMS для проекта и хотел видеть данные SMS в моем телефоне. Итак, сначала я вытащил данные.

adb pull /data/data/com.android.providers.telephony/databases/mmssms.db ~/Downloads/mmssms.db

Итак, я попытался использовать Браузер баз данных SQLite 20.b1 на моем Mac (OS X 10.6.8), но когда я открываю файл, я вижу nada. Затем я попытался sqlite3, и все еще ничего не вижу, но получаю небольшое напоминание о том, какой я идиот.

mbp62:~ sillyusernamehere$ sqlite3 ~/Downloads/mmssms.db 
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
Error: file is encrypted or is not a database
sqlite> 

Так возможно ли вообще расшифровать базу данных? Google-фу не разгласил мне много информации о механизме или о том, как это сделать по телефону.

Ответы [ 2 ]

3 голосов
/ 01 июня 2012

База данных не зашифрована. Вы используете версию базы данных, не поддерживаемую программой SQLite Database Browser 20.b1.

Простое решение:

  1. Загрузите файл SQLite dll из http://www.sqlite.org/sqlite.html

  2. Загрузите SQLite Administrator с http://sqliteadmin.orbmu2k.de/

  3. Извлеките SQLite Administrator и замените пакет sqlite3.dll на последнюю версию, загруженную с sqlite.org

  4. Запустите программу администратора SQLite.

  5. Откройте базу данных Android.

  6. Готово.

--- Дополнительная информация -

База данных Android может быть открыта с помощью бинарного файла sqlite windows, который является программой оболочки.

примеры команд из командной строки Windows:

    c:> c:\sqlite3.exe c:\mmssms.db
    sqlite> .tables

таблицы выводятся из списка

    sqlite> .mode column
    sqlite> select * from sms

таблица смс выводится в виде столбца

    ctrl-c

выход из программы

обратитесь к документации sqlite для получения дампов данных.

0 голосов
/ 04 апреля 2012

Я написал учебник о том, как изменить имя вашего хоста в Android для сетей Wi-Fi. В этом уроке я объяснил, как использовать sqlite3.

Я не верю, что ваш "mmssms.db" должен быть зашифрован. Я посмотрел и другие базы данных на своем телефоне Android, и они не были зашифрованы.

Посмотреть здесь:

http://blog.burrowsapps.com/2011/09/android-change-hostname.html?q=hostname

file settings.db
sqlite3 settings.db
sqlite> .databases
sqlite> .tables
sqlite> .schema secure
sqlite> select * from secure where _id = "24";
sqlite> select * from secure where name = "android_id";
sqlite> select * from secure where value = "";
sqlite> update secure set value = 0 where _id = 24;
sqlite> .exit

Как просмотреть (больше примеров):

http://forum.xda -developers.com / архив / index.php / т-448361.html

http://forum.xda -developers.com / архив / index.php / т-1453840.html

Пожалуйста, дайте мне знать, если это поможет! Кроме того, можете ли вы сообщить мне свой телефон и другую информацию, чтобы получить более надежный ответ.

Возможно, вы испортили файл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...