HTML Diff
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