Способ изъятия сообщений из базы данных Telegram

Joined
Aug 17, 2016
Messages
1,788
Reaction score
826
dd5b13a4b2947ceedb09b.png

Всем привет. возникла идея получить переписку телеграмма на рутированном смартфоне.

База данных Telegram, а именно файл cache4.db находиться в смартфоне по адресу:

/data/data/org.telegram.messenger/files/cache4.db

558a35a973e81dfa0fb0f.png

После получения файла БД было разработано приложение Receiver под Windows 7/8/10, приложение использует Microsoft .NET Framework 4.6 требует только распаковки и запуске файла Receiver.exe.

После запуска приложения требуется подключить БД:

686552dee31a8082248a8.png

d4d5781f490516684a7fc.png

При удачном подключении:

32f95cf3acc3c823b15c7.png

Так как в Telegram не все пользователи могут быть связаны с номером телефона для начала выведем таблицу пользователей с их:

  • uid (уникальным идентификатором);
  • name (именем);
  • полем data (хранит информацию о пользователе в двоичном виде, нам важен в этом поле только номер телефона).
f841d782ed530c9a46265.png

После вывода таблицы мы узнаём uid и фильтруем по нему сообщения:

8dcb8b212ba38aa2b4e3d.png

В итоге получает таблицу с сообщениями в явном виде. После этого сохраним отчёт в формате PDF, так как при формировании документа PDF я использовал кодировку Windows arial.ttf (другого способа я не нашёл, для корректного отображения русского текста).

Документ Report.pdf автоматически откроется (перед открытием будет сообщение о месте хранения отчёта).

76e45ef9b91f31e173973.png

Исходный код: Код формы

Ссылка для загрузки: Receiver.rar



Спасибо за внимание.



P.S

Моя первая разработка, раздел с БД Viber доработаю и обновлю ссылку для загрузки.
 
Top