0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Привет! Я думаю, что наберется немало людей, перед которыми стоят интересные задачи по работе с приложениями. Например -- анализ трафика для, разумеется, тестирования этих самых приложений! Вам выпало нелегкое бремя -- необходимо отдебажить продовую сборку чего-либо, и вы начинаете свои поиски решений проблем. А проблем у вас на этом пути будет много. О том, как их можно решить, я и пишу.</p>
1
<p>Привет! Я думаю, что наберется немало людей, перед которыми стоят интересные задачи по работе с приложениями. Например -- анализ трафика для, разумеется, тестирования этих самых приложений! Вам выпало нелегкое бремя -- необходимо отдебажить продовую сборку чего-либо, и вы начинаете свои поиски решений проблем. А проблем у вас на этом пути будет много. О том, как их можно решить, я и пишу.</p>
2
<p>Классический путь начинается с установки какого-нибудь Charles, настройки в нем proxy-сервера и попытки слушать трафик, однако мы быстро натыкаемся на проблему -- все адекватные современные приложения используют HTTPS, а поэтому -- на ваше устройство придется установить сертификат, который и позволит слушать трафик. Тут то и начинается самое интересное...</p>
2
<p>Классический путь начинается с установки какого-нибудь Charles, настройки в нем proxy-сервера и попытки слушать трафик, однако мы быстро натыкаемся на проблему -- все адекватные современные приложения используют HTTPS, а поэтому -- на ваше устройство придется установить сертификат, который и позволит слушать трафик. Тут то и начинается самое интересное...</p>
3
<p>Давайте создадим чек-лист, на который будем ориентироваться в процессе:</p>
3
<p>Давайте создадим чек-лист, на который будем ориентироваться в процессе:</p>
4
<p>⚑ Предварительные подготовления, позволяющие начать установку эмулятора</p>
4
<p>⚑ Предварительные подготовления, позволяющие начать установку эмулятора</p>
5
<p>⚑ Вы находитесь здесь</p>
5
<p>⚑ Вы находитесь здесь</p>
6
<p>⚐ Установка эмулятора</p>
6
<p>⚐ Установка эмулятора</p>
7
<p>⚐ Установка сертификата для MITM</p>
7
<p>⚐ Установка сертификата для MITM</p>
8
<p>⚐ Проверка работоспособности прослушки трафика</p>
8
<p>⚐ Проверка работоспособности прослушки трафика</p>
9
<p>⚐ Разочарование</p>
9
<p>⚐ Разочарование</p>
10
<p>⚐ Получение root-доступа</p>
10
<p>⚐ Получение root-доступа</p>
11
<p>⚐ Перенос сертификата в системное хранилище</p>
11
<p>⚐ Перенос сертификата в системное хранилище</p>
12
<p>⚐ Разочарование(?)</p>
12
<p>⚐ Разочарование(?)</p>
13
<p>⚐ SSL Unpinning</p>
13
<p>⚐ SSL Unpinning</p>
14
<p>⚐ Profit!!!</p>
14
<p>⚐ Profit!!!</p>
15
<h2>Установка Android Emulator</h2>
15
<h2>Установка Android Emulator</h2>
16
<p>Я не буду описывать всю процедуру установки, надеюсь, вы сможете сделать все подготовительные действия, чтобы оказаться в ситуации, когда вам осталось лишь выбрать определенный тип OS в эмуляторе, а все предыдущие шаги уже выполнены.</p>
16
<p>Я не буду описывать всю процедуру установки, надеюсь, вы сможете сделать все подготовительные действия, чтобы оказаться в ситуации, когда вам осталось лишь выбрать определенный тип OS в эмуляторе, а все предыдущие шаги уже выполнены.</p>
17
<p>Итак:</p>
17
<p>Итак:</p>
18
<p>1.Выбираем любой подходящий вариант, с важной оговоркой - это должна быть сборка без Google Play, но с Google Play Services (далее будет видно). Соответственно -- выбираем устройство без треугольника</p>
18
<p>1.Выбираем любой подходящий вариант, с важной оговоркой - это должна быть сборка без Google Play, но с Google Play Services (далее будет видно). Соответственно -- выбираем устройство без треугольника</p>
19
<p>2.Выбираем любой интересующий образ в котором есть Google Play APIs</p>
19
<p>2.Выбираем любой интересующий образ в котором есть Google Play APIs</p>
20
<p>3.Устанавливаем параметр Cold Boot</p>
20
<p>3.Устанавливаем параметр Cold Boot</p>
21
<p>Готово!</p>
21
<p>Готово!</p>
22
<p>⚑ Установка эмулятора</p>
22
<p>⚑ Установка эмулятора</p>
23
<h2>Установка сертификата для proxy-sniffer</h2>
23
<h2>Установка сертификата для proxy-sniffer</h2>
24
<p>Для прослушки трафика я буду пользоваться Fiddler Everywhere. И покажу порядок настройки данной софтины, согласно которому мы закроем еще один пункт нашей дорожной карты.</p>
24
<p>Для прослушки трафика я буду пользоваться Fiddler Everywhere. И покажу порядок настройки данной софтины, согласно которому мы закроем еще один пункт нашей дорожной карты.</p>
25
<p>Тут я сделаю небольшое лирическое отступление -- данная программа платная, да и еще по подписке, и стоить будет, в лучшем случае -- 10$ в месяц. Но, у вас будет триал в 30 дней, после которого нужно больше золота, поэтому можно использовать любой другой инструмент. Сам я пытался заюзать Postman -- в нем тоже есть proxy-tooling, однако, корневые сертификаты, которые генерирует Postman, не пригодны для установки в Android 10 / 11. Однако, служба поддержки уже бдит, и, надеюсь, за отведенные 30 дней триала все заработает как надо (в Postman) и вы сможете пользоваться наиболее удобным (с моей точки зрения) инструментом для решения данной задачи. Когда это случится -- я дополню данную статью. А теперь возвращаемся к процессу установки сертификата на устройство (эмулятор).</p>
25
<p>Тут я сделаю небольшое лирическое отступление -- данная программа платная, да и еще по подписке, и стоить будет, в лучшем случае -- 10$ в месяц. Но, у вас будет триал в 30 дней, после которого нужно больше золота, поэтому можно использовать любой другой инструмент. Сам я пытался заюзать Postman -- в нем тоже есть proxy-tooling, однако, корневые сертификаты, которые генерирует Postman, не пригодны для установки в Android 10 / 11. Однако, служба поддержки уже бдит, и, надеюсь, за отведенные 30 дней триала все заработает как надо (в Postman) и вы сможете пользоваться наиболее удобным (с моей точки зрения) инструментом для решения данной задачи. Когда это случится -- я дополню данную статью. А теперь возвращаемся к процессу установки сертификата на устройство (эмулятор).</p>
26
<p>Нам необходимо раскрыть пункт Advanced Settings в настройках Fiddler, и экспортировать корневой сертификат. В данный момент я пользователь Windows и на данной ОС он окажется на рабочем столе, подсказка об этом показывается по наведению на значок вопроса.</p>
26
<p>Нам необходимо раскрыть пункт Advanced Settings в настройках Fiddler, и экспортировать корневой сертификат. В данный момент я пользователь Windows и на данной ОС он окажется на рабочем столе, подсказка об этом показывается по наведению на значок вопроса.</p>
27
<p>После экспорта сертификата, плавным движением кистей рук, переносим его на запущенный эмулятор -- файл окажется в папке .../Downloads. После чего можно сразу идти в настройки и устанавливать наш серт:</p>
27
<p>После экспорта сертификата, плавным движением кистей рук, переносим его на запущенный эмулятор -- файл окажется в папке .../Downloads. После чего можно сразу идти в настройки и устанавливать наш серт:</p>
28
<p>Отлично! Можем поставить галочку у еще одного пункта:</p>
28
<p>Отлично! Можем поставить галочку у еще одного пункта:</p>
29
<p>⚑ Установка сертификата для MITM</p>
29
<p>⚑ Установка сертификата для MITM</p>
30
<h2>Проверяем, все ли ок</h2>
30
<h2>Проверяем, все ли ок</h2>
31
<p>Самое время проверить, принесли ли наши усилия хоть какие-то полезные плоды. Подопытным кроликом сегодняшнего эксперимента будет приложение Reddit и первое, что мы увидим, если попытаемся загрузить посты:</p>
31
<p>Самое время проверить, принесли ли наши усилия хоть какие-то полезные плоды. Подопытным кроликом сегодняшнего эксперимента будет приложение Reddit и первое, что мы увидим, если попытаемся загрузить посты:</p>
32
<p>Пустота.</p>
32
<p>Пустота.</p>
33
<p>А также бесконечное количество попыток SSL-handshake в Fiddler. Кажется, пора поставить прочерк сразу напротив двух пунктов нашей дорожной карты:</p>
33
<p>А также бесконечное количество попыток SSL-handshake в Fiddler. Кажется, пора поставить прочерк сразу напротив двух пунктов нашей дорожной карты:</p>
34
<p>⚑ Проверка работоспособности прослушки трафика</p>
34
<p>⚑ Проверка работоспособности прослушки трафика</p>
35
<p>⚑ Разочарование</p>
35
<p>⚑ Разочарование</p>
36
<h2>Я есть root</h2>
36
<h2>Я есть root</h2>
37
<p>Мне кажется, что наступил момент рассказать, для чего нам вообще рут? Все дело в том пресловутом изменении Android 7, после которого пользовательские сертификаты перестали быть доверенными. Посему -- нам необходимо сделать что-то с нашим установленным сертификатом, чтобы мы смогли использовать его для изучения трафика нашего рабочего приложения. И сделать это можно, только если ваш девайс рутован. Тут же заключается и причина использования эмулятора, да и связанные с этим особенности: без эмулятора вам придется иметь постоянно рутованное устройство, если это отдельный выделенный смартфон -- то проблем с этим особенно и нет (ну, кроме зарядки, постепенного устаревания и ограничений конкретной модели), однако, если у вас свой личный аппарат -- то минусы от root могут быть существенными -- не работающая система безопасности, сломанный Google Pay или отвалившиеся камеры... Ну и помимо всего прочего -- эмулятор позволяет легко изменить версию Android (правда, придется повторить все действия, перечисленные тут, но у вас уже будет эта статья, а я вот это все пишу её не имея).</p>
37
<p>Мне кажется, что наступил момент рассказать, для чего нам вообще рут? Все дело в том пресловутом изменении Android 7, после которого пользовательские сертификаты перестали быть доверенными. Посему -- нам необходимо сделать что-то с нашим установленным сертификатом, чтобы мы смогли использовать его для изучения трафика нашего рабочего приложения. И сделать это можно, только если ваш девайс рутован. Тут же заключается и причина использования эмулятора, да и связанные с этим особенности: без эмулятора вам придется иметь постоянно рутованное устройство, если это отдельный выделенный смартфон -- то проблем с этим особенно и нет (ну, кроме зарядки, постепенного устаревания и ограничений конкретной модели), однако, если у вас свой личный аппарат -- то минусы от root могут быть существенными -- не работающая система безопасности, сломанный Google Pay или отвалившиеся камеры... Ну и помимо всего прочего -- эмулятор позволяет легко изменить версию Android (правда, придется повторить все действия, перечисленные тут, но у вас уже будет эта статья, а я вот это все пишу её не имея).</p>
38
<p>А теперь приступим. Благодаря прекраснейшему проекту весь процесс сводится к запуску всего лишь одного скрипта, с небольшими подготовительными работами. Также, обращайте внимание на то, что выводится в консоль и если вы пользуетесь Windows - то запускайте не .sh, а .bat. Возможно, WSL будет тут как раз кстати, но моя система, скажем так, с некоторыми особенностями, которые WSL использовать не позволяют (если вы знаете, как завести на Ryzen 5000-серии и WSL и Android Emulator - то прошу написать об этом комментарий).</p>
38
<p>А теперь приступим. Благодаря прекраснейшему проекту весь процесс сводится к запуску всего лишь одного скрипта, с небольшими подготовительными работами. Также, обращайте внимание на то, что выводится в консоль и если вы пользуетесь Windows - то запускайте не .sh, а .bat. Возможно, WSL будет тут как раз кстати, но моя система, скажем так, с некоторыми особенностями, которые WSL использовать не позволяют (если вы знаете, как завести на Ryzen 5000-серии и WSL и Android Emulator - то прошу написать об этом комментарий).</p>
39
<p>А вот и сами работы:</p>
39
<p>А вот и сами работы:</p>
40
./rootAVD.sh ~/Library/Android/sdk/system-images/android-30/google_apis/x86_64/ramdisk.img<p>Плюс, нужно перезагрузить эмулятор. Ну и, у пользователей Windows путь до образа будет примерно таким:</p>
40
./rootAVD.sh ~/Library/Android/sdk/system-images/android-30/google_apis/x86_64/ramdisk.img<p>Плюс, нужно перезагрузить эмулятор. Ну и, у пользователей Windows путь до образа будет примерно таким:</p>
41
C:\Users\Me\AppData\Local\Android\Sdk\system-images\android-30\google_apis\x86_64\ramdisk.img<p>На выходе мы получаем рут, который сохраняется при перезагрузке эмулятора, но wipe делать не стоит.</p>
41
C:\Users\Me\AppData\Local\Android\Sdk\system-images\android-30\google_apis\x86_64\ramdisk.img<p>На выходе мы получаем рут, который сохраняется при перезагрузке эмулятора, но wipe делать не стоит.</p>
42
<p>Ставим галку:</p>
42
<p>Ставим галку:</p>
43
<p>⚑ Получение root-доступа</p>
43
<p>⚑ Получение root-доступа</p>
44
<h2>Делаем сертификат доверенным</h2>
44
<h2>Делаем сертификат доверенным</h2>
45
<p>Для этого нам понадобится перенести его в хранилище доверенных сертификатов. Тут рут нам и нужен (не только тут, но это позже).</p>
45
<p>Для этого нам понадобится перенести его в хранилище доверенных сертификатов. Тут рут нам и нужен (не только тут, но это позже).</p>
46
<p>Для этого мы запускаем цепочку следующих команд:</p>
46
<p>Для этого мы запускаем цепочку следующих команд:</p>
47
adb shell su mkdir -m 700 /data/certs cp /system/etc/security/cacerts/* /data/certs/ mount -t tmpfs tmpfs /system/etc/security/cacerts cp /data/misc/user/0/cacerts-added/* /system/etc/security/cacerts/ mv /data/certs/* /system/etc/security/cacerts/ chown root:root /system/etc/security/cacerts/* chmod 644 /system/etc/security/cacerts/* chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*<p>После чего наблюдаем следующую картинку в системных сертификатах:</p>
47
adb shell su mkdir -m 700 /data/certs cp /system/etc/security/cacerts/* /data/certs/ mount -t tmpfs tmpfs /system/etc/security/cacerts cp /data/misc/user/0/cacerts-added/* /system/etc/security/cacerts/ mv /data/certs/* /system/etc/security/cacerts/ chown root:root /system/etc/security/cacerts/* chmod 644 /system/etc/security/cacerts/* chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*<p>После чего наблюдаем следующую картинку в системных сертификатах:</p>
48
<p>Наш сертификат стал системным, поэтому закроем еще один пункт:</p>
48
<p>Наш сертификат стал системным, поэтому закроем еще один пункт:</p>
49
<p>⚑ Перенос сертификата в системное хранилище</p>
49
<p>⚑ Перенос сертификата в системное хранилище</p>
50
<p>И давайте сразу проверим наше приложение:</p>
50
<p>И давайте сразу проверим наше приложение:</p>
51
<p>Отлично! Теперь мы можем слушать HTTPS-трафик любых (ли?) приложений с эмулятора. Давайте, чтобы закрепить результат, попробуем еще одно приложение -- Avito (как говорили Ник и Майк -- это крепкий орешек).</p>
51
<p>Отлично! Теперь мы можем слушать HTTPS-трафик любых (ли?) приложений с эмулятора. Давайте, чтобы закрепить результат, попробуем еще одно приложение -- Avito (как говорили Ник и Майк -- это крепкий орешек).</p>
52
<p>Кажется, тут что-то пошло не так. Впрочем вы и так все знаете, так как видели гигантский спойлер в самом начале, поэтому ставим еще одну галку:</p>
52
<p>Кажется, тут что-то пошло не так. Впрочем вы и так все знаете, так как видели гигантский спойлер в самом начале, поэтому ставим еще одну галку:</p>
53
<p>⚑ Разочарование!</p>
53
<p>⚑ Разочарование!</p>
54
<h2>SSL-Unpinning</h2>
54
<h2>SSL-Unpinning</h2>
55
<p>На данную тему есть множество решений, но, как правило, все они крутятся вокруг одной идеи -- пересборки приложения, которое вы хотите изучить. Данный подход весьма громоздкий, сложный и может сподвигнуть к прокрастинации, поэтому нужно что-то такое, что позволит сделать все намного проще и универсальнее. И рецепт этого чего-то прямо тут, бесплатно и без СМС:</p>
55
<p>На данную тему есть множество решений, но, как правило, все они крутятся вокруг одной идеи -- пересборки приложения, которое вы хотите изучить. Данный подход весьма громоздкий, сложный и может сподвигнуть к прокрастинации, поэтому нужно что-то такое, что позволит сделать все намного проще и универсальнее. И рецепт этого чего-то прямо тут, бесплатно и без СМС:</p>
56
<ol><li>Благодаря наличию root установим Xposed</li>
56
<ol><li>Благодаря наличию root установим Xposed</li>
57
<li>Благодаря Xposed установим модуль для отвязки SSL-привязки</li>
57
<li>Благодаря Xposed установим модуль для отвязки SSL-привязки</li>
58
<li>Profit!!! (два пункта тут смотрелись бы уныло)</li>
58
<li>Profit!!! (два пункта тут смотрелись бы уныло)</li>
59
</ol><p>А теперь давайте по порядку.</p>
59
</ol><p>А теперь давайте по порядку.</p>
60
<h3>Установка Xposed</h3>
60
<h3>Установка Xposed</h3>
61
<p>С учетом нашего изначального плана слушать всё и вся на эмуляторе на этом шаге появляются некоторые сложности -- нужно подобрать удачную комбинацию программных решений, которые будут работать и на эмуляторе. Благодаря этой статье вам совершенно точно не придется тратить несколько часов на поиски этих решений и будет достаточно следовать простой инструкции:</p>
61
<p>С учетом нашего изначального плана слушать всё и вся на эмуляторе на этом шаге появляются некоторые сложности -- нужно подобрать удачную комбинацию программных решений, которые будут работать и на эмуляторе. Благодаря этой статье вам совершенно точно не придется тратить несколько часов на поиски этих решений и будет достаточно следовать простой инструкции:</p>
62
<ol><li>Скачиваем последнюю версию Magisk-модуля с интересным названием Riru и устанавливаем его посредством Magisk</li>
62
<ol><li>Скачиваем последнюю версию Magisk-модуля с интересным названием Riru и устанавливаем его посредством Magisk</li>
63
<li>Закрываем эмулятор, а затем снова запускаем (данный шаг эмулирует перезагрузку, которая у меня, по каким-то причинам, не работает, если работает у вас - может быть достаточно и её)</li>
63
<li>Закрываем эмулятор, а затем снова запускаем (данный шаг эмулирует перезагрузку, которая у меня, по каким-то причинам, не работает, если работает у вас - может быть достаточно и её)</li>
64
<li>Находим в репозитории Magisk модуль с названием Riru - LSPosed и устанавливаем его</li>
64
<li>Находим в репозитории Magisk модуль с названием Riru - LSPosed и устанавливаем его</li>
65
<li>Снова ребутим эмулятор</li>
65
<li>Снова ребутим эмулятор</li>
66
<li>Открываем приложение LSPosed, в котором необходимо установить уже Xposed-модуль SSLUnpinning</li>
66
<li>Открываем приложение LSPosed, в котором необходимо установить уже Xposed-модуль SSLUnpinning</li>
67
<li>Переключаем все галки в настройках данного модуля у всех приложений, которые хотим слушать и активируем сам модуль</li>
67
<li>Переключаем все галки в настройках данного модуля у всех приложений, которые хотим слушать и активируем сам модуль</li>
68
<li>Ребутим эмулятор</li>
68
<li>Ребутим эмулятор</li>
69
</ol><p>После этого вы оказались в ситуации, когда у вас есть эмулятор с:</p>
69
</ol><p>После этого вы оказались в ситуации, когда у вас есть эмулятор с:</p>
70
<ul><li>Полноценным рутом (Magisk)</li>
70
<ul><li>Полноценным рутом (Magisk)</li>
71
<li>Установленным MITM-сертификатом в User-space</li>
71
<li>Установленным MITM-сертификатом в User-space</li>
72
<li>Установленным Xposed (LSPosed)</li>
72
<li>Установленным Xposed (LSPosed)</li>
73
<li>Установленным модулем для SSL-Unpinning</li>
73
<li>Установленным модулем для SSL-Unpinning</li>
74
</ul><p>В процессе имея следующий набор картинок:</p>
74
</ul><p>В процессе имея следующий набор картинок:</p>
75
<p>Можно честно поставить галку:</p>
75
<p>Можно честно поставить галку:</p>
76
<p>⚑ SSL Unpinning</p>
76
<p>⚑ SSL Unpinning</p>
77
<p>Настал час проверить, работает ли этот паровоз:</p>
77
<p>Настал час проверить, работает ли этот паровоз:</p>
78
<p>Работает! Ник и Майк ошиблись! Можем ставить и последнюю галку:</p>
78
<p>Работает! Ник и Майк ошиблись! Можем ставить и последнюю галку:</p>
79
<p>⚑ Profit!!!</p>
79
<p>⚑ Profit!!!</p>
80
<p>Какие есть нюансы? Во первых -- при каждом включении эмулятора будет необходимо снова делать сертификаты доверенными (в принципе, после всех этих процедур можно отключить Cold Boot, и тогда не придется, но рано или вам придется перезагрузить эмулятор "жестко", и тогда потребуется поработать и с сертификатами). Возможно, тут есть постоянное решение или это можно, на худой конец, автоматизировать, но я устал. Во вторых -- не все приложения в принципе хотят запускаться на эмуляторе. Самый надежный вариант -- иметь набор выделенных телефонов на разных версиях Android, все из которых будут иметь весь арсенал инструментов из данного мануала (с небольшими изменениями), но он не всегда возможен.</p>
80
<p>Какие есть нюансы? Во первых -- при каждом включении эмулятора будет необходимо снова делать сертификаты доверенными (в принципе, после всех этих процедур можно отключить Cold Boot, и тогда не придется, но рано или вам придется перезагрузить эмулятор "жестко", и тогда потребуется поработать и с сертификатами). Возможно, тут есть постоянное решение или это можно, на худой конец, автоматизировать, но я устал. Во вторых -- не все приложения в принципе хотят запускаться на эмуляторе. Самый надежный вариант -- иметь набор выделенных телефонов на разных версиях Android, все из которых будут иметь весь арсенал инструментов из данного мануала (с небольшими изменениями), но он не всегда возможен.</p>
81
<p>Под конец -- я еще раз продублирую всю инструкцию по пунктам, чтобы был понятен сам алгоритм:</p>
81
<p>Под конец -- я еще раз продублирую всю инструкцию по пунктам, чтобы был понятен сам алгоритм:</p>
82
<ol><li>Делаем приготовления (ставим Android Studio), чтобы иметь возможность установить / запустить эмулятор</li>
82
<ol><li>Делаем приготовления (ставим Android Studio), чтобы иметь возможность установить / запустить эмулятор</li>
83
<li>Устанавливаем эмулятор с параметрами, определенными выше</li>
83
<li>Устанавливаем эмулятор с параметрами, определенными выше</li>
84
<li>Устанавливаем интересующие нас приложения на эмулятор методом перетаскивания курсором и убеждаемся, что они в принципе работают и все это будет не зря</li>
84
<li>Устанавливаем интересующие нас приложения на эмулятор методом перетаскивания курсором и убеждаемся, что они в принципе работают и все это будет не зря</li>
85
<li>Получаем root (Magisk) посредством инструкции, указанной выше</li>
85
<li>Получаем root (Magisk) посредством инструкции, указанной выше</li>
86
<li>Перезагружаем эмулятор</li>
86
<li>Перезагружаем эмулятор</li>
87
<li>Устанавливаем Riru</li>
87
<li>Устанавливаем Riru</li>
88
<li>Перезагружаем эмулятор</li>
88
<li>Перезагружаем эмулятор</li>
89
<li>Устанавливаем LSPosed</li>
89
<li>Устанавливаем LSPosed</li>
90
<li>Перезагружаем эмулятор</li>
90
<li>Перезагружаем эмулятор</li>
91
<li>Устанавливаем Xposed-модуль SSLUnpinning</li>
91
<li>Устанавливаем Xposed-модуль SSLUnpinning</li>
92
<li>Ставим все галки в модуле у интересующих нас приложений и у самого модуля (включаем его)</li>
92
<li>Ставим все галки в модуле у интересующих нас приложений и у самого модуля (включаем его)</li>
93
<li>Закрываем эмулятор</li>
93
<li>Закрываем эмулятор</li>
94
<li>Выключаем Cold Boot</li>
94
<li>Выключаем Cold Boot</li>
95
<li>Включаем эмулятор</li>
95
<li>Включаем эмулятор</li>
96
<li>Устанавливаем MITM CA-сертификат в User-space (считай - просто устанавливаем)</li>
96
<li>Устанавливаем MITM CA-сертификат в User-space (считай - просто устанавливаем)</li>
97
<li>Делаем сертификат доверенным по инструкции выше</li>
97
<li>Делаем сертификат доверенным по инструкции выше</li>
98
<li>Настраиваем Proxy на эмуляторе согласно параметрам, указанным выше, или вашим собственным (в зависимости от того, каким инструментом для анализа трафика вы собираетесь пользоваться)</li>
98
<li>Настраиваем Proxy на эмуляторе согласно параметрам, указанным выше, или вашим собственным (в зависимости от того, каким инструментом для анализа трафика вы собираетесь пользоваться)</li>
99
<li>Анализируем работу приложения</li>
99
<li>Анализируем работу приложения</li>
100
</ol><p>Если будете устанавливать дополнительные приложения на эмулятор -- то необходимо проставить галки напротив них в SSLUnpinning (через LSPosed) и жестко перезагрузить эмулятор, с последующим фиксом сертификатов после перезагрузки. На этом, собственно, все, до новых встреч!</p>
100
</ol><p>Если будете устанавливать дополнительные приложения на эмулятор -- то необходимо проставить галки напротив них в SSLUnpinning (через LSPosed) и жестко перезагрузить эмулятор, с последующим фиксом сертификатов после перезагрузки. На этом, собственно, все, до новых встреч!</p>
101
101