Как прослушивать трафик приложения? Подробная инструкция
А ты слушаешь траф прилки? Если нет, то уже давно пора! В этой статье расскажу, как это делаю я.В материале много текста и скринов.
Речь пойдет об одном из способов прослушивания трафика android-приложения AdsManadger Facebook, а именно о поиске пары app_id|secret_key приложения.
Материал написан исключительно с образовательной целью.
Кому лень читать, может посмотреть процесс перехвата трафика приложения Reddit на видео, там все понятно без перевода.
План действий:
1. Скачиваем apk-файл приложения.
2. Декомпилируем его с помощью ApkTool.
3. «Отключаем» проверку SSL.
4. Собираем apk-файл.
5. Подписываем apk-файл и устанавливаем приложение.
6. Слушаем трафик.
Итак, теперь по порядку.
1. Скачиваем apk-файл приложения AdsManadger Facebook с сайта APKMirror.
Для удобства создайте новую папку, переместите в нее скачанный файл и переименуйте его в adsmanager.apk.
2. Декомпилируем apk-файл с помощью ApkTool
2.1 Скачиваем и устанавливаем ApkTool.
2.2 Переходим в папку с файлом приложения, в строке пути проводника пишем cmd. Откроется командная строка, вводим команду
apktoolЕсли пакет ApkTool установлен верно, то будет выведен список доступных команд.


2.3 Теперь в командной строке пишем
apktool d adsmanager.apkРядом с apk-файлом будет создана папка adsmanager, в нее распакуются ресурсы приложения.

3. «Отключаем» проверку SSL
В папке с распакованным приложением открываем файл adsmanager\res\xml\fb_network_security_config.xml и заменяем все его содержимое на следующее:
<network-security-config> <base-config> <trust-anchors> <!-- Trust preinstalled CAs --> <certificates src="system" /> <!-- Additionally trust user added CAs --> <certificates src="user" /> </trust-anchors> </base-config> </network-security-config>
4. Собираем apk-файл
В командной строке вводим
apktool b adsmanager -o adsmanager_new.apkНаберись терпения, процесс сборки может продолжать несколько минут и сопровождаться ошибками.
Сборка прерывается ошибками:
W: C:\adsmanager\adsmanager\res\values\anims.xml:3: error: Found tag anim where item is expected W: C:\adsmanager\adsmanager\res\values\ids.xml:104: error: Found tag id where item is expected

Пытаемся исправить. Открываем первый файл adsmanager\res\values\anims.xml, видим строки вида
<anim name="*****" />исправляем их на
<item type="anim" name="*****" />Такую же замену производим в файле adsmanager\res\values\ids.xml
<item type="id" name="*****" />После исправлений, пробуем повторить сборку командой
apktool b adsmanager -o adsmanager_new.apk

В результате компиляции в папке должен появиться файл adsmanager_new.apk.

5. Подписываем apk-файл и устанавливаем приложение
5.1 Итак, apk-файл приложения готов, перед установкой его необходимо подписать. Нам потребуется эмулятор android'a, я использую Memu Play. Качаем, устанавливаем.
5.2 После запуска эмулятора, нам понадобится приложение ZipSigner для того, чтобы подписать модифицированное приложение AdsManager'a. Скачиваем, устанавливаем, перетащив файл приложения ZipSigner в окно эмулятора.
5.3 Теперь необходимо скопировать модифицированный apk-файл AdsManager'a в общую папку. В винде она находится по пути C:\Users\<USER_NAME>\Downloads\MEmu Download.
5.4 В эмуляторе открываем приложение ZipSigner. В поля «Input File» и «Signed Output File» прописываем пути, как на скрине (или кнопкой CHOOSE IN/OUT выбираем не подписанный файл /storage/emulated/0/Download/adsmanager_new.apk, оба пути пропишутся автоматически). Жмем кнопку SIGN THE FILE и ждем завершения создания подписанного файла. Закрываем ZipSigner, идем в файловый менеджер в папку Downloads и устанавливаем подписанное модифицированное приложение AdsManager (adsmanager_new.signed.apk или adsmanager_new-signed.apk).

6. Слушаем трафик
С самой сложной частью процесса справились, будем слушать траф!
6.1 Для прослушивания трафика я использую Fiddler (у меня Fiddler 4, интерфейс в новых версиях может отличаться). Качаем, устанавливаем.
6.2 После запуска Fiddler'a, нужно его настроить. Идем в Tools->Options->Connections, в Fiddler listens on port пишем 8888 и ставим галку напротив Allow remote computers to connect.

6.3 Теперь в эмуляторе переходим в настройки WiFi. Удерживаем клик на текущем соединении и выбираем Modify network, ставим галочку Advanced options. Кликаем раскрывающийся список напротив Proxy, выбираем Manual.
Нужно ввести Proxy hostname и Proxy port. С Proxy port все понятно, его недавно мы писали в Fiddler'e: 8888. А Proxy hostname — это локальный IP компьютера. Его можно посмотреть, введя в командной строке команду ipconfig. Сохраняем настройки.


6.4 В эмуляторе открываем web-браузер Chrome и переходим по адресу
http://ipv4.fiddler:8888На открывшейся странице жмем ссылку FiddlerRoot certificate, скачиваем и устанавливаем сертификат. Во время установки эмулятор попросит указать PIN-код (1111 вполне подойдет) и имя для сертификата безопасности — пишем любое (Fiddler). Закрываем в эмуляторе все приложения и окна. Начинаем прослушку!
6.5 В левой части окна Fiddler'a (консоль) скорее всего уже будет отображено много разных запросов, очищаем консоль (Ctrl+X). Периодически в консоль будут сыпаться запросы из браузера, обычно я его закрываю или ставлю фильтр перед прослушкой прилки.
6.6 В эмуляторе запускаем модифицированный Facebook Ads, дожидаемся загрузки окна авторизации. Возвращаемся в консоль Fiddler'a и видим, что приложение уже успело отправить на сервер несколько запросов — смотри скрин.


Приложение отправило GET-запрос на graph.facebook.com/pwd_key_fetch?access_token=438142079694454|fc0a7caa49b192f64f6f5a6d9643bb28&version=2 и в ответ получило json-массив с информацией.
Но нас интересует параметр access_token=438142079694454|fc0a7caa49b192f64f6f5a6d9643bb28. Это и есть искомая пара app_id|secret_key приложения!
Если ее вставить в отладчик маркеров Facebook, то увидим название прилки, которой эта пара принадлежит.

Начало в прослушке трафика положено! Теперь вы можете авторизоваться в приложении, понажимать в нем кнопки, ссылки, и в консоли Fiddler'a увидите, какие запросы шлет прилка на свой сервер и что получает в ответ.
Хочу предупредить: не во всех приложениях так легко отключается проверка сертификата. Например, в Instagram такой метод не сработает.
28.02.2021 г.
811
Написать комментарий
Статьи
Комментарии
27 ноября 2021, 21:05
24 февраля 2021, 12:17
14 февраля 2021, 20:36
14 февраля 2021, 20:12
14 февраля 2021, 20:04
14 февраля 2021, 19:50
Комментарии ()