Дисклеймер: статья написана исключительно в ознакомительных, образовательных целях. Автор не несёт ответственности за последствия использования ниже перечисленных инструментов. Вся ответственность за запуск, выполнение и возможные последствия полностью ложится на пользователя.
Данная статья посвящена относительно простому инструменту для обхода механизма SSL pinning в Android приложениях.
Наша главная цель состоит в том, чтобы посредством определенных манипуляций увидеть запросы приложения (POST, GET) и сделать без браузерную автоматизацию.
Однако простота инструмента подразумевает, что далеко не все приложения в итоге поддадутся манипуляции. Например, запросы тик тока подобным методом мы явно не увидим.
Сам инструмент называется apk-mitm — и это по сути лишь одна команда выполненная в cmd.
Базовые знания использования командной строки обязательный минимум.
Что нам нужно для работы:
1. Node.js и npm
Скачайте и установите Node.js с официального сайта
Установили. Проверяем, что Node.js и npm работают.
Вводим в CMD (или PowerShell) команды:
видим версию, например v22.19.0
следом
аналогично показывает версию, например 10.9.3
2. Java Development Kit (JDK)
Качаем и устанавливаем, например, майкрософтовскую сборку
Скачали. Установили. Проверяем.
Видим, например, такое openjdk version "21.0.8" - значит все сделано правильно.
3. apk-mitm
Это и есть главный инструментарий. apk-mitm — это пакет Node.js, который устанавливается через npm. Вы можете установить его глобально или использовать npx для запуска без установки. Ссылка на гитхаб.
Если хотите установить глобально
Если не устанавливаете глобально, npx сам загрузит и выполнит последнюю версию apk-mitm при первом вызове команды.
Все настроено. Скачали нужное нам приложение. Запускаем.
apk-mitm начнет обработку:
1. Декомпилирует APK
2. Отключает SSL pinning
3. Собирает и подписывает новый APK (например, myapp-patched.apk)
Так выглядит процесс обработки
Время выполнения может доходить до 15 минут.
В процессе вы увидите логи. Если возникнут ошибки, они отобразятся.
Когда apk-mitm успешно закончит работу, то в папке с вашим начальным apk, появится новый пропатченный apk. Запускаем сниффер трафика и смотрим запросы приложения.
Подытожим: в копилку имеющихся на форуме статей и методов по post/get запросам андроид приложений мы получаем еще один. Способ простой, главное отличие от предыдущих, что это не динамический SSL unpinning.
Данная статья посвящена относительно простому инструменту для обхода механизма SSL pinning в Android приложениях.
Наша главная цель состоит в том, чтобы посредством определенных манипуляций увидеть запросы приложения (POST, GET) и сделать без браузерную автоматизацию.
Однако простота инструмента подразумевает, что далеко не все приложения в итоге поддадутся манипуляции. Например, запросы тик тока подобным методом мы явно не увидим.
Сам инструмент называется apk-mitm — и это по сути лишь одна команда выполненная в cmd.
Базовые знания использования командной строки обязательный минимум.
Что нам нужно для работы:
1. Node.js и npm
Скачайте и установите Node.js с официального сайта
Node.js – это среда выполнения, которая позволяет запускать JavaScript-код вне браузера
npm (Node Package Manager) – это менеджер пакетов, который устанавливает и управляет библиотеками (пакетами) в ваших проектах Node.js.
npx (Node Package eXecute) — это исполнитель пакетов, который позволяет выполнять пакеты без их глобальной или локальной установки, загружая их временно и удаляя после использования.
Установили. Проверяем, что Node.js и npm работают.
Вводим в CMD (или PowerShell) команды:
Код:
node -v
следом
Код:
npm -v
2. Java Development Kit (JDK)
Качаем и устанавливаем, например, майкрософтовскую сборку
JDK — это набор инструментов для разработки на Java, который включает компилятор, отладчик и другие утилиты.
Скачали. Установили. Проверяем.
Код:
java -version
3. apk-mitm
Это и есть главный инструментарий. apk-mitm — это пакет Node.js, который устанавливается через npm. Вы можете установить его глобально или использовать npx для запуска без установки. Ссылка на гитхаб.
Если хотите установить глобально
Код:
npm install -g apk-mitm
Все настроено. Скачали нужное нам приложение. Запускаем.
Код:
cd C:\Users\ПОЛЬЗОВАТЕЛЬ\ПАПКА С APK\
npx apk-mitm myapp.apk
1. Декомпилирует APK
2. Отключает SSL pinning
3. Собирает и подписывает новый APK (например, myapp-patched.apk)
Так выглядит процесс обработки
Время выполнения может доходить до 15 минут.
В процессе вы увидите логи. Если возникнут ошибки, они отобразятся.
Когда apk-mitm успешно закончит работу, то в папке с вашим начальным apk, появится новый пропатченный apk. Запускаем сниффер трафика и смотрим запросы приложения.
Подытожим: в копилку имеющихся на форуме статей и методов по post/get запросам андроид приложений мы получаем еще один. Способ простой, главное отличие от предыдущих, что это не динамический SSL unpinning.