Учебные пособия расширенной серии «Сортировка гематемезиса» — Подробное руководство по захвату пакетов Fiddler (27) — Как Fiddler захватывает пакеты HTTPS для Android 7.0 и выше — Часть 2
Учебные пособия расширенной серии «Сортировка гематемезиса» — Подробное руководство по захвату пакетов Fiddler (27) — Как Fiddler захватывает пакеты HTTPS для Android 7.0 и выше — Часть 2

1. Введение

В предыдущей статье брат Хун объяснил и поделился некоторыми временными методами экстренной помощи, как быстро решить проблему, но думаете ли вы, что некоторые методы используются для лечения головных болей, болей в голове и ногах, лечения симптомов, но не первопричины, или некоторые тестировщикам относительно сложно реализовать. Итак, сегодня брат Хун представит и поделится основной причиной проблемы.

2. Вернитесь к истокам

Чтобы коренным образом решить проблему, нам просто нужно найти первопричину и не отставать от проблемы! Основная причина — targetSdkVersion. >= 24 приложения на Android Причина, по которой пакеты не могут быть перехвачены на устройствах с системой 7.0+, связана с Android Приложения после версии 7.0 по умолчанию доверяют только системным сертификатам и не доверяют пользовательским сертификатам. Тогда мы сможем найти способ установить сертификат Fiddler в каталог системных сертификатов и замаскировать его под системный сертификат. Тогда не будет проблем с невозможностью установки. перехватывать пакеты, поскольку сертификат Fiddler не является доверенным. Мы нашли основную причину. Поскольку сертификат пользователя не является доверенным, мы можем решить эту проблему, создав системный сертификат и установив его на мобильный телефон. Далее брат Хун решит задачу согласно этой идее.

1. Брат Хун ранее продемонстрировал, что он может захватывать пакеты https на телефонах Android, поскольку версия симулятора Yeshen брата Хонга для Android — 5.1.1, поэтому он может захватывать пакеты.

2. Брат Хун нажимает на кнопку Yeshen Multi-Opener в меню в правой части симулятора Yeshen, как показано на рисунке ниже:

3. Добавьте эмулятор с версией Android выше 7.0, как показано на рисунке ниже:

4. Настройте прокси-сервер и снова используйте Fiddler для захвата пакетов с помощью Baidu Mobile Assistant. Это означает, что сеть занята. Конкретным проявлением является то, что WebView в приложении не может открыть контент и не может захватить пакет приложения, как показано на следующем рисунке:

5. Результаты захвата пакетов Fiddler. В Fiddler можно увидеть большое количество соединений CONNECT, а затем ничего. Как показано ниже:

3. Экспортный сертификат Fiddler

1. Загрузите и установите инструмент захвата пакетов Fiddler. После завершения загрузки не нажимайте кнопку, чтобы открыть и запустить его (если это ваша первая установка, если вы уже установили его, не запускайте Fiddler).

2. Загрузите fiddlercertmaker.exe, генератор сертификатов Bouncy Castle. Поскольку новая версия Android отклоняет сертификаты, действительные более двух лет, дважды щелкните загруженный файл fiddlercertmaker.exe (убедитесь, что Fiddler закрыт), и появится диалоговое окно. появится всплывающее сообщение о том, что импорт сертификата прошел успешно. (Если ваша новая версия может быть установлена, этот шаг можно пропустить).

3. Экспортируйте сертификат Fiddler на свой компьютер и нажмите «Инструменты». -> Options -> HTTPS -> Actions -> Export Root Certificate to Рабочий стол. Как показано ниже:

4. После успешного экспорта вы увидите экспортированный файл сертификата FiddlerRoot.cer на рабочем столе. Как показано ниже:

4. Загрузите и установите openssl.

1. Загрузите версию openssl для Windows, адрес загрузки: http://slproweb.com/products/Win32OpenSSL.html, прокрутите вниз, выберите верхний 64-битный EXE-файл и нажмите для загрузки и установки, как показано на рисунке. рисунок ниже:

2. После завершения установки откройте командную строку cmd в корзине каталога установки openssl и попробуйте, подействует ли команда openssl. Если введена следующая входная информация, установка прошла успешно:

5. Преобразование формата сертификата и переименование.

1. Преобразуйте сертификат Fiddler cer в сертификат pem и введите следующую команду в cmd для преобразования:

Язык кода:javascript
копировать
openssl x509 -inform DER -in C:\Users\DELL\Desktop\FiddlerRoot.cer -out C:\Users\DELL\Desktop\FiddlerRoot.pem

2. Используйте режим md5 для отображения хеш-значения сертификата pem. Введите следующую команду в cmd:

Язык кода:javascript
копировать
openssl x509 -inform PEM -subject_hash_old -in C:\Users\DELL\Desktop\FiddlerRoot.pem

Как видно из приведенного выше, хеш-значение сгенерированного нами сертификата Fiddler составляет 269953fb.

3. Переименуйте сертификат pem, используя значение 269953fb, указанное выше. Следующая команда применима только к window. Используйте mv для Linux. Как показано ниже:

Язык кода:javascript
копировать
ren C:\Users\DELL\Desktop\FiddlerRoot.pem 269953fb.0

Уведомление:renВторой параметр команды,Просто введите новое имя файла,Не входить полный путь,В противном случае будет сообщено об ошибке, как показано ниже:

6. Установите сертификат в системный каталог (/system/etc/security/cacerts).

6.1 Подходит для разработчиков с основами Android

1. Найдите рутированный телефон или любой эмулятор, потому что только рутированный телефон может выполнять различные команды с высоким уровнем привилегий. Я скачал эмулятор под названием Yeshen android 7 system. Как показано ниже:

2. Введите adb connect 127.0.0.1:62001 в cmd, чтобы подключить adb к симулятору Yeshen (если вы не уверены в этой части, вы можете прочитать статью брата Хонга о Appium, в которой есть подробное описание того, как подключиться).

(1) После установки симулятора Yeshen при проверке cmd появляется сообщение: версия сервера adb (36) не соответствует этому клиенту (41);

Описание версии andriod adb и версии adb симулятора не совпадают

Найдите причину:

(2) Проверьте версию Android-adb, введите adb --version в cmd, вы увидите, что текущая версия — 1.0.41, называемая версией 41.

(2) Проверьте версию adb в эмуляторе (Yeshen). В каталоге установки \Nox\bin есть файл nox_adb.exe, который на самом деле является adb.exe. (Это легко отличить от adb Android)

(3) Затем введите cmd в адресную строку каталога на предыдущем шаге, чтобы войти в командную строку, затем введите nox_adb и убедитесь, что версия adb в симуляторе — 36.

(4) После выяснения причины измените файл adb.exe в папке инструментов платформы. Просто замените nox_adb.exe в корневом каталоге эмулятора. Затем скопируйте версию adb.exe в android-sdk, затем переименуйте ее в nox_adb.exe, а затем замените nox_adb.exe в папке \Nox\bin. симулятор и снова запустите симулятор для обнаружения. Вы можете видеть, что 127.0.0.1:62001 — это имя устройства симулятора, что указывает на успешное соединение.

3.cmd Войдите в оболочку adb, чтобы войти в терминальную оболочку симулятора Yeshen. Набрав напрямую, я обнаружил ошибку: ошибка: более одного устройства/эмулятора. Как показано ниже:

(1) Причина проверки заключается в том, что брат Хун открыл два симулятора и ввел команду напрямую. Система не знает, в какой симулятор следует войти. Необходимо указать один. Как показано ниже:

(2) Укажите симулятор и войдите в оболочку, и вы сможете успешно войти, как показано на рисунке ниже:

4.cmd Введите cd /system/etc/security, а затем введите ls -l. Вы можете увидеть каталог cacerts. У нас есть только разрешения на чтение и выполнение, но нет разрешений на запись. Как показано ниже:

5. Введите chmod 777 cacerts в cmd, чтобы предоставить нам права на запись в каталог. После выполнения введите ls -l, чтобы убедиться, что мы получили права на запись. Как показано ниже:

Постучите по доске! ! !

Некоторые друзья могут ввести chmod 777 cacerts в других эмуляторах, и им будет предложено указать файловую систему только для чтения. Как показано ниже:

В этом случае вам необходимо перемонтировать систему и сделать ее доступной для чтения и записи. Введите mount -o remount,rw /system, а затем введите chmod 777 cacerts. Вы обнаружите, что настройка может быть успешной. Как показано ниже:

6. Введите exit, чтобы выйти из терминала оболочки, затем введите adb push C:\Users\DELL\Desktop\269953fb.0 /system/etc/security/cacerts (по той же причине вам необходимо указать симулятор) и нажмите предварительно преобразованный сертификат Fiddler в каталог /system/etc/security/cacerts симулятора Yeshen. Как показано ниже:

7. На этом этапе сертификат Fiddler успешно установлен в системный каталог. Нажмем на настройки симулятора. -> Информация о безопасности и местоположении -> Шифрование и учетные данные -> Доверенные учетные данные -> Система, прокрутите вниз, чтобы увидеть наш сертификат Fiddler. Как показано ниже:

Теперь откройте Fiddler для захвата пакетов, и вы обнаружите, что пакеты могут быть успешно перехвачены (не забудьте установить прокси-сервер на Wi-Fi в симуляторе), как показано на рисунке ниже:

6.2 Подходит для новичков без Android Foundation.

1. Найдите рутированный телефон или любой эмулятор, потому что только рутированный телефон может выполнять различные команды с высоким уровнем привилегий. Я скачал эмулятор под названием Yeshen android 7 system.

2. Щелкните значок компьютера на боковой панели симулятора Night God и выберите папку компьютера. Будет выполнен переход в каталог компьютера C:\Users\Administrator\Nox_share и скопирован преобразованный сертификат Fiddler 269953fb.0 в каталог ImageShare. . Вот и все

3. Загрузите МТ Менеджер,Скачать адрес:https://coolapk.com/apk/bin.mt.plus . Перетащив его в симулятор и установив, щелкните, чтобы открыть приложение. Откройте каталог «Изображения» слева, и вы увидите сертификат Fiddler 269953fb.0 в каталоге ImageShare вашего компьютера.

4. Нажмите справа, чтобы войти в каталог system/etc/security/cacerts, затем нажмите и удерживайте файл 269953fb.0 слева и нажмите «Копировать», чтобы скопировать его в каталог, открытый справа.

5. Большинство людей думают, что это здесь.,Но, пожалуйста, взгляните на файл 269953fb.0, который вы только что переместили в каталог system/etc/security/cacerts.,Вы обнаружите, что по сравнению с другими существующими системными сертификатами,269953fb.0 вообще не имеет разрешения на чтение,Вы не сможете найти этот сертификат Fiddler, когда перейдете в раздел Доверенные учетные данные.,Нажмите на верхний левый угол MT Manager.,Найдите и откройте терминал

6. После входа в терминал введите следующую команду, чтобы сделать файл 269953fb.0 доступным для чтения.

7. Посмотрите разрешения файла 269953fb.0 в каталоге system/etc/security/cacerts и обнаружите, что у него есть разрешения на чтение.

8. Вернёмся на рабочий стол симулятора и кликнем по настройкам симулятора. -> Информация о безопасности и местоположении -> Шифрование и учетные данные -> Доверенные учетные данные -> System, прокрутите вниз и наконец увидите наш сертификат Fiddler. Попытаться перехватить пакет не составит труда.

Теперь откройте Fiddler для захвата пакетов, и вы обнаружите, что пакеты могут быть успешно перехвачены (не забудьте установить прокси-сервер на Wi-Fi в симуляторе), как показано на рисунке ниже:

7. Резюме

1. После вышеуказанных настроек в симуляторе Thunderbolt 4 вы обнаружите, что по-прежнему не можете успешно перехватывать пакеты. В этом случае вам необходимо разрешить следующую команду для установки глобального прокси-сервера для Thunderbolt 4.

adb shell settings put global http_proxy <актерское мастерствоip>:<актерское мастерствопорт> Среди них adb можно найти в каталоге установки симулятора.

2. Перед работой убедитесь, что на телефоне или эмуляторе включен root. Если используется эмулятор, должна быть включена опция отладки по USB. Необходимо зайти в «Настройки» — «О планшете» или «О телефоне» — и нажать Android. номер версии 5 раз (Включить параметры разработчика) - Вернуться к параметрам разработчика - Включить переключатель кнопки отладки USB PS: чем сильнее вы нажимаете, тем лучше эффект.

3. Не забудьте указать каталог установки openssl, прежде чем использовать команду openssl. В противном случае вам будет предложено указать, что команда не существует. Если вам нужно использовать команду openssl в других каталогах, вам необходимо настроить среду. переменные. Вы можете проверить конкретный метод конфигурации самостоятельно. В конце концов, брат Хонг сегодня не объясняет здесь openssl.

4. Есть еще один момент, который необходимо объяснить отдельно. Разрешение на запись в каталог /system/etc/security/cacerts/ требует root-прав мобильного телефона. Другими словами, копирование сертификата в этот каталог требует от вас рутирования вашего собственного устройства. Что касается рутирования мобильных телефонов Android, производители мобильных телефонов обычно имеют свои собственные официальные руководства. Рекомендуется следовать официальным инструкциям по рутированию.

8.Развернуть

У некоторых друзей здесь могут возникнуть вопросы. Системный сертификат размещается в каталоге system/etc/security/cacerts. Если установленный сертификат пользователя хранится в каталоге, то на самом деле он хранится в каталоге data/misc/keystore.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose