POST/GET запросы Android приложений. Простой способ.

Jack555

Client
Регистрация
30.12.2020
Сообщения
7
Благодарностей
16
Баллы
3
Дисклеймер: статья написана исключительно в ознакомительных, образовательных целях. Автор не несёт ответственности за последствия использования ниже перечисленных инструментов. Вся ответственность за запуск, выполнение и возможные последствия полностью ложится на пользователя.

Данная статья посвящена относительно простому инструменту для обхода механизма 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
видим версию, например v22.19.0

следом
Код:
npm -v
аналогично показывает версию, например 10.9.3

2. Java Development Kit (JDK)
Качаем и устанавливаем, например, майкрософтовскую сборку

JDK — это набор инструментов для разработки на Java, который включает компилятор, отладчик и другие утилиты.

Скачали. Установили. Проверяем.
Код:
java -version
Видим, например, такое openjdk version "21.0.8" - значит все сделано правильно.

3. apk-mitm
Это и есть главный инструментарий. apk-mitm — это пакет Node.js, который устанавливается через npm. Вы можете установить его глобально или использовать npx для запуска без установки. Ссылка на гитхаб.

Если хотите установить глобально
Код:
npm install -g apk-mitm
Если не устанавливаете глобально, npx сам загрузит и выполнит последнюю версию apk-mitm при первом вызове команды.

Все настроено. Скачали нужное нам приложение. Запускаем.

Код:
cd C:\Users\ПОЛЬЗОВАТЕЛЬ\ПАПКА С APK\
npx apk-mitm myapp.apk
apk-mitm начнет обработку:

1. Декомпилирует APK
2. Отключает SSL pinning
3. Собирает и подписывает новый APK (например, myapp-patched.apk)

Так выглядит процесс обработки
136423


Время выполнения может доходить до 15 минут.
В процессе вы увидите логи. Если возникнут ошибки, они отобразятся.

Когда apk-mitm успешно закончит работу, то в папке с вашим начальным apk, появится новый пропатченный apk. Запускаем сниффер трафика и смотрим запросы приложения.

Подытожим: в копилку имеющихся на форуме статей и методов по post/get запросам андроид приложений мы получаем еще один. Способ простой, главное отличие от предыдущих, что это не динамический SSL unpinning.
 

vasyaya

Client
Регистрация
09.02.2015
Сообщения
573
Благодарностей
36
Баллы
28
SSL запросы не видно через этот метод.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)