BlueStacks + Charles Proxy (Android 9 Pie, 11 RVC)
Настройка BlueStacks + Charles Proxy для просмотра HTTP/HTTPS трафика
-----
Использованы материалы:
https://evilsaloon.com/bluestacks-and-charles-proxy/
https://www.puvipavan.com/2023/10/intercept-android-traffic-on-bluestacks.html
https://xdaforums.com/t/bluestacks-tweaker-6-tool-for-modifing-bluestacks-2-3-3n-4-5.3622681/post-89306676
https://youtu.be/2ns9G28LJT4?si=lOITb_4IJ1sT7llf
https://youtu.be/SwfoTy7gN8k?si=1bJ5MoI1LKnjLNqp
Только для BlueStacks 5 и Android 9 Pie & Android 11 RVC
1. Charles Proxy
-
На официальном сайте скачайте Charles: www.charlesproxy.com/
-
Убедитесь что у вас отключено Proxy -> Windows proxy
-
Proxy -> Proxy Settings - Нажмите на оба переключателя под "HTTP proxy"
-
Включите SSL proxy: Proxy -> SSL Proxying Settings , включите "Enable SSL Proxying" и добавьте "*" в качестве Location
-
Сохраните корневой сертификат Charles Proxy: Help -> SSL Proxying -> Save Charles Root Certificate...
-
Посмотрите и запомните ваш локальный IP-адрес: Help -> Local IP Address
2. OpenSSL
- Скачайте и распакуйте портативную версию OpenSSL_win32:
https://sourceforge.net/projects/openssl-for-windows/
или отсюда: OpenSSL-1.1.1h_win32.zip
- Скопируйте в эту папку ранее сохранённый корневой сертификат Charles
- Запустите командную строку Windows, перейдите в каталог с OpenSSL и выполните команду:
На экране появится много текста:openssl x509 -inform PEM -subject_hash_old -in charles_root.pem
Скопируйте первую строку, добавьте к ней в конце ".0" и вставьте в следующую команду:
openssl x509 -inform PEM -text -in charles_root.pem > 9898d94e.0
3. BlueStacks + Root
- Установите BlueStacks
Онлайн инсталляция: https://www.bluestacks.com/download.html
Офлайн установщик: https://support.bluestacks.com/hc/articles/4402611273485-BlueStacks-5-offline-installer
- По умолчанию BlueStacks директория находится тут: %PROGRAMDATA%\BlueStacks_nxt\
У меня, как и у большинства людей, это здесь: C:\ProgramData\BlueStacks_nxt\
Перейдите в эту директорию.
- Откройте и отредактируйте файл bluestacks.conf (C:\ProgramData\BlueStacks_nxt\bluestacks.conf)
Найдите все слова имеющие в своём составе "root" и поменяйте значение с "0" на "1"bst.feature.rooting="1" bst.instance.Pie64.enable_root_access="1" bst.instance.Rvc64.enable_root_access="1"
- Если HyperV активировано:
Откройте и отредактируйте файл <Bluestacks-Data-Directory>\Engine\<OS-and-Architecture>\HypervVM.json
Например: C:\ProgramData\BlueStacks_nxt\Engine\Pie64\HypervVm.json
Найдите и полностью удалите строки, содержащие "ReadOnly": true
- Если HyperV отключено:
Вам надо отредактировать VirtualBox конфигурационные файлы. Конфигурационные файлы расположены в этих местах, пожалуйста отредактируйте их все:
<Bluestacks-Data-Directory>\Engine\<OS-and-Architecture>\Android.bstk.in <Bluestacks-Data-Directory>\Engine\<OS-and-Architecture>\<OS-and-Architecture>.bstk <Bluestacks-Data-Directory>\Engine\<OS-and-Architecture>\<OS-and-Architecture>.bstk-prev
Например, для Android Pie необходимо отредактировать эти файлы:C:\ProgramData\BlueStacks_nxt\Engine\Pie64\Android.bstk.in C:\ProgramData\BlueStacks_nxt\Engine\Pie64\Pie64.bstk C:\ProgramData\BlueStacks_nxt\Engine\Pie64\Pie64.bstk-prev
А для Android RVC, эти файлы:c:\ProgramData\BlueStacks_nxt\Engine\Rvc64\Android.bstk.in c:\ProgramData\BlueStacks_nxt\Engine\Rvc64\Rvc64.bstk c:\ProgramData\BlueStacks_nxt\Engine\Rvc64\Rvc64.bstk-prev
Это обычные XML файлы, которые вы можете отредактировать любым текстовым редактором.
Найдите в этих файлах все строки, содержащие type="Readonly" и замените на type="Normal"
4. Kitsune Magisk + Riru + EdXposed
- Скачайте и установите в BlueStacks: Kitsune Magisk
Отсюда: https://github.com/HuskyDG/magisk-files/releases
или отсюда: R6687BB53-kitsune.apk
Или альтернативный fork: Kitsune Magisk
Отсюда: https://github.com/1q23lyc45/KitsuneMagisk/releases
или отсюда: v27.2-kitsune-4.apk
- Запустите Kitsune Mask, нажмите "Install" и выберите "Direct Install (modify / system directly)"
Если эта опция не отображается, закройте и перезапустите Kitsune Mask
При последующих запусках Kitsune Mask будет выскакивать предупреждение про неверный бинарный файл для "su" - игнорируйте это сообщение
- После перезапуска Bluestacks опять откройте Kitsune Mask и установите Riru
Устанавливать надо ТОЛЬКО ВЕРСИЮ 25.4.4 !
Отсюда: https://github.com/RikkaApps/Riru/releases/download/v25.4.4/riru-v25.4.4-release.zip
или отсюда: riru-v25.4.4-release.zip
- После установки Riru теперь необходимо установить EdXposed Framework
Отсюда: https://github.com/ElderDrivers/EdXposed/releases
или отсюда: EdXposed-v0.5.2.2_4683-master-release.zip
Действия такие же как и при установке Riru:
Kitsune Mask -> Modules -> Install from storage -> EdXposed-v0.5.2.2_4683-master-release.zip -> Reboot
- Теперь устанавливаем EdXposed Manager
Отсюда: https://github.com/ElderDrivers/EdXposedManager/releases
или отсюда: EdXposedManager-4.6.2-46200-org.meowcat.edxposed.manager-release.apk
- Загрузите и установите Хposed модуль TrustMeAlready :
https://github.com/ViRb3/TrustMeAlready/releases
или отсюда: TrustMeAlready-v1.11-release.apk
- Перейдите в EdXposed Manager -> Modules и включите его.
Это отключает проверку SSL и закрепление для большинства приложений, заставляя их доверять корневым SSL - сертификату Charles, позволяя нам просматривать трафик
5. Заключительные шаги
- Вам понадобится приложение, например X-Plore , для редактирования системных файлов Android, чтобы добавить наш прокси и сертификат Charles.
Установите отсюда: https://play.google.com/store/apps/details?id=com.lonelycatgames.Xplore
или скачайте отсюда: X-plore_v4.31.08.apk
- После того, как вы загрузили и установили приложение, нажмите три точки в правом верхнем углу и нажмите «Configuration». Вам нужно будет установить приложение в режим «Superuser + mount writable»
-
Перейдите в каталог /data/system/users/0 (это попросит права суперпользователя, нажмите "Grant") и откройте в текстовом редакторе "settings_global.xml".
- Теперь добавьте эти строки, и не забудьте прописать ваш IP-адрес, который вы получили в пункте 1.Charles.6 :
<setting id="100" name="global_proxy_pac_url" value="" package="android" />
<setting id="97" name="global_http_proxy_host" value="192.168.0.32" package="android" />
<setting id="98" name="global_http_proxy_port" value="8888" package="android" />
<setting id="99" name="global_http_proxy_exclusion_list" value="" package="android" />
<setting id="96" name="http_proxy" value="192.168.0.32:8888" package="com.android.shell" />
- Перетащите в BlueStacks ранее сохранённый файл 9898d94e.0 из пункта 2.OpenSSL.
Вы его найдёте здесь: /storage/emulated/0/DCIM/SharedFolderНапоминаю! 9898d94e - это мой файл! У вас будет другое имя этого файла!
- Скопируйте этот файл в директорию /system/etc/security/cacerts
- Перезагрузитесь и наслаждайтесь! :)
-----
Использованы материалы:
https://evilsaloon.com/bluestacks-and-charles-proxy/
https://www.puvipavan.com/2023/10/intercept-android-traffic-on-bluestacks.html
https://xdaforums.com/t/bluestacks-tweaker-6-tool-for-modifing-bluestacks-2-3-3n-4-5.3622681/post-89306676
https://youtu.be/2ns9G28LJT4?si=lOITb_4IJ1sT7llf
https://youtu.be/SwfoTy7gN8k?si=1bJ5MoI1LKnjLNqp