Статья [1 часть] Получение сообщений из базы данных Telegram

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

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

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

2.jpg

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

Так как в Telegram не все пользователи могут быть связаны с номером телефона для начала выведем таблицу пользователей с их:
  • uid (уникальным идентификатором);
  • name (именем);
  • полем data (хранит информацию о пользователе в двоичном виде, нам важен в этом поле только номер телефона).
4.jpg

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

5.jpg

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

6.jpg

Исходный код:
Ссылка для загрузки:

Спасибо за внимание.
Специально для CODEBY.NET
Продолжение: Способ изъятия сообщений из базы данных Telegram и Viber
P.S​
Моя первая разработка, раздел с БД Viber доработаю и обновлю ссылку для загрузки.
 
Последнее редактирование модератором:

u7u

Green Team
13.09.2017
77
32
BIT
0
Спасибо за материал. На виртуалке 7ке запускаю, указываю cache4.db, итог "подключено к бд". Указываю вывести всех пользователей = подключите бд. Что может быть?
последняя версия, пока нет возможности на реальной машине глянуть. Вин7 64.
 

Unison

Active member
31.07.2018
43
209
BIT
0
Спасибо за материал. На виртуалке 7ке запускаю, указываю cache4.db, итог "подключено к бд". Указываю вывести всех пользователей = подключите бд. Что может быть?
На виртуалке не тестировал, какой Microsoft .NET Framework запущен на виртуадке Windows 7? Свежая БД с Telegram 4.9.1 считывалась без проблем, есть возможность протестировать не на виртуалке?
последняя версия, пока нет возможности на реальной машине глянуть. Вин7 64.
К сожалению софт использовался и тестировался на реальных машиной Windows 7/10 (x64).

Ссылка на mega битая или файл удален. Если можно перезалей пж. Благодарю!
Пишу продолжение статьи, ссылка на последний релиз:
 
  • Нравится
Реакции: Dervish и Sunnych

Air7771

Green Team
22.02.2017
100
65
BIT
1
Всем привет. Совместно с @Sunnych возникла идея получить переписку телеграмма на рутированном смартфоне.
База данных Telegram, а именно файл cache4.db находиться в смартфоне по адресу:

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

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

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

Так как в Telegram не все пользователи могут быть связаны с номером телефона для начала выведем таблицу пользователей с их:
  • uid (уникальным идентификатором);
  • name (именем);
  • полем data (хранит информацию о пользователе в двоичном виде, нам важен в этом поле только номер телефона).

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


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


Исходный код:
Ссылка для загрузки:

Спасибо за внимание.
Специально для Codeby.net

P.S​
Моя первая разработка, раздел с БД Viber доработаю и обновлю ссылку для загрузки.
Ссылка на mega битая или файл удален. Если можно перезалей пж. Благодарю!

Пишу продолжение статьи, ссылка на последний релиз:

Благодарю! Не ожидал что так быстро ждем продолжение статьи!
 

Unison

Active member
31.07.2018
43
209
BIT
0
можно написать как с помощью адб изьять сам файл
Лично не пробовал. Но, для начала нужно получить root права на смартфоне. Потом запустить adb, в командной строке выполнить:
adb root
adb pull /data/data/org.telegram.messenger/files/cache4.db C:/TelegramDB/
Команда pull скопирует файл cache4.db в папку TelegramDB на ПК. Можно еще попробовать скопировать сначала на sdcard а уже потом на ПК.
 
  • Нравится
Реакции: Sunnych

NeskO

Green Team
10.01.2018
115
52
BIT
4
Лично не пробовал. Но, для начала нужно получить root права на смартфоне. Потом запустить adb, в командной строке выполнить:
adb root
adb pull /data/data/org.telegram.messenger/files/cache4.db C:/TelegramDB/
Команда pull скопирует файл cache4.db в папку TelegramDB на ПК. Можно еще попробовать скопировать сначала на sdcard а уже потом на ПК.
я знаю...я предложил идею...
 
4

4ger

Очень круто давно искал что-то подобное. Спасибо
 
  • Нравится
Реакции: Unison
D

dininininininin

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

u7u

Green Team
13.09.2017
77
32
BIT
0
Пишу продолжение статьи, ссылка на последний релиз:
Доброго. Этот релиз на виртуалке отработал. Единственное что вывел пустую форму, но может база пустая у меня.
Упс... При повторном нажатии вывести всех пользователей отработало...
 
Последнее редактирование:

Unison

Active member
31.07.2018
43
209
BIT
0
Доброго. Этот релиз на виртуалке отработал. Единственное что вывел пустую форму, но может база пустая у меня.
Упс... При повторном нажатии вывести всех пользователей отработало...
Спасибо за активное тестирование, есть над чем подумать, скоро будет продолжение с обновлением релиза.
 
M

MimoRakodil

У меня почему-то удалились автоматически все сообщения и файлы из избранного в телеграм Х. Хотел открыть базу данных через sqlite - требует какой-то пароль. А через вашу программу не открывается база, она в формате sqlite, а программа требует формат db. Что можно с этим сделать?
 

Unison

Active member
31.07.2018
43
209
BIT
0
У меня почему-то удалились автоматически все сообщения и файлы из избранного в телеграм Х. Хотел открыть базу данных через sqlite - требует какой-то пароль. А через вашу программу не открывается база, она в формате sqlite, а программа требует формат db. Что можно с этим сделать?
По идеи БД телеграм Х - зашифрована, ключ к БД знает только приложение телеграм Х. Если файл /data/data/org.telegram.messenger/files/cache4.db - требует пароль(ключ) то Вам лучше в поддержку Телеграм Х обратиться.
 
  • Нравится
Реакции: Sunnych

hellomynamenation

New member
14.03.2020
3
0
BIT
0
К сожалению нет, но у меня есть одна идея на этот счет) Руки пока не дошли реализовать.
Просто к сожалению не на всех телефонах есть возможность получить рут-права, да и с риском потерять все данные мало, кто согласится на это ) а как раз изъятие переписок с этих мессенджеров очень актуальный)
 

Thaguy

New member
14.09.2020
2
0
BIT
0
Ребята, можно ли как-то вытащить данные с tg x?Телефон без рута если что.
 
01.12.2022
5
0
BIT
0
похоже тема старая не как не получается получить сообщения ввожу uid numer и нечего статус меняет на disconected
а с рут проблем нет особо не партесь есть приложение x-plore на андроид с него можно и дату и обб открыть а если подойти более лучше то вшиваем пайлоад в телеграмм апк и как раз получим метерпретер в директории с cache4.db root нужен только атакующему а не жертве
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!