Нужно отреверсить приложение, собрать сесии, посмотреть, есть ли защита по токенам.
- Настраиваем эмулятор в Android Studo
Я брал Pixel XL c google API v30 с Cold reboot. В эмулятор выделяем побольше места под storage, иначе придется все заново проходить, если не хватит места
- Рутуем эмулятор
rootAVD-master
. Он же поставитMagisk
. После патчинга, перезапускаем эулятор и запускаемMagisk
, он автоматом предложит обновиться.
В Magisk
после обновления и ребута, включаем Zygisk
в настройках. Опять ребутим.
- Ставим
Magisk
-модули. Они ставятся после отправкиzip-файлов
на устройство, например, черезadb
:
./adb push AlwaysTrustUserCerts.zip /sdcard/Download
Далее, в Magisk
импортируем модуль Always Trust User Certificates
. Он нужен, чтобы пользовательский сертификат
при импорте через телефон попал в системные сертификаты - https://github.com/NVISOsecurity/MagiskTrustUserCerts/releases
Затем ставим Zygisk - LSPosed
. Это фреймворк, нужен, чтобы поставить модуль ssl unpinning
, нужна версия с zygisk.
adb push LSPosed-v1.8.6-6712-zygisk-release.zip /sdcard/Download
-
Заходим в
LSPosed
и внутри приложения скачиваем и устанавливаем модульSSLUnpining
(ставится какapk
). Перезагружаемся -
Ставим
mitmproxy
(схема сработает с любым другим прокси, напримерCharles
) -
Импортируем
сертификат от mitmproxy
в эмулятор (Security > Encription & credentials > Install a certificate
). Сертификат под линуксом после первого запуска mitmproxy берется тут:~/.mitmproxy/mitmproxy-ca-cert.cer
После импорта сертификата перезагружаемся. После перезагрузки проверяем что в системных доверенных сертификатах присутствует наш сертификат от mitmproxy
-
Скачиваем
apk
требуемого приложения с какого-нибудь зеркала google play, например, https://www.apkmirror.com/ (вот этот сервер экспорта apk выдавал очень старую версию приложения https://apps.evozi.com/apk-downloader/). Ставим на эмулятор и проверяем, что версия близкая к настоящей -
Заходим в
LSPosed
и включаем модульSSLUnpinning
и в нем включаем галки напротивSystem Framework
иТребуемого приложения
. Перезагружаемся -
Стартуем
mitmproxy
-
Запускаем эмулятор. Можно через консольную утилиту
emulator
. -
Прописываем в настройках локальное прокси (в консоли для
./emulator -avd Pixel_5_API_31
)
P.S. После каждой установки приложения или смены настроек, хорошо бы перезагружать образ - возможно, сборка начинает работать только после перезагрузки образа, а не приложения