關於無法通過模擬器下載charles證書的一次記錄


最近用charles嘗試抓取模擬器的包,但是無奈的是,還沒開始就卡在了安裝證書的這一步.
苦苦搜尋了各種教程,其中嘗試過"關閉防火牆",設置SSL Proxying Settings都無濟於事,模擬器中打開chls.pro/ssl一動不動.
最后無意中搜到了Android7.0無法安裝證書關鍵字,一番折騰后,終於解決.所以記錄一下,方便以后查閱.

准備

本文的操作系統是win10
需要用到的軟件:

1.雷神模擬器,官網下載即可.
2.charles
3.adb的工具包,直接解壓即可使用.
下載地址

charles的設置

1.設置http代理.
Proxy-->Proxy settings

2.設置ssl
proxy-->ssl proxying settings

3.charles安裝證書

彈出證書安裝界面,點擊"安裝證書"
選擇當前用戶,
選擇: 將所有的證書都放入下列存儲:

直接下一步,最后確定提示"導入成功"

4.接着設置charles安裝移動端證書:

此時charles會彈出需要給模擬器設置http代理的ip以及端口(記住它,待會要用到):

adb的使用

直接在解壓的adb.exe所在目錄打開cmd,win10是直接在文件管理器地址欄輸入cmd回車即可.

這里提示一下,雷電模擬器用到的端口號是5555.
輸入: adb devices,如果顯示的是"127.0.0.1:5555 offline "

可以通過adb kill-serveradb start-server開關閉和重啟adb,

還可以重啟雷電模擬器直到 輸入adb devices顯示:

List of devices attached
emulator-5554 device

表明已經成功通過adb連接到模擬器了.

接下來就是關鍵的一步了,需要通過adb命令進行設置模擬器的http代理,需要用到上面記錄下來的http代理地址和端口:192.168.3.8:8888
1.為了確認,可以先清除一下模擬器的http代理:
adb shell settings delete global http_proxy

2.設置模擬器的代理:
adb shell settings put global http_proxy 192.168.3.8:8888
設置成功無提示.

模擬器下載證書.

設置完畢之后,就可以進入模擬器中,通過系統自帶的瀏覽器輸入chls.pro/sll進行下載:

至此,全文完結.

關於adb命令的補充

1.adb devices顯示attached后,通過以下命令來進入到模擬器的shell命令模式:
adb -s emulator-5554 shell
輸入: exit 可以退出.

2.adb重新掛載到模擬器.
adb -s emulator-5554 remount

3.adb連接到模擬器
adb connect 127.0.0.1:5555

4.查看手機arch版本
adb shell getprop ro.product.cpu.abi

5.查看當前app運行的包名
adb shell dumpsys window | findstr mCurrentFocus

6.復制/data/misc/user/0/cacerts-added中以.0為結尾的文件到目錄:/system/etc/security/cacerts下,就可以抓取https的包了:

adb push a0b1c2d3.0 /system/etc/security/cacerts/

參考鏈接:Charles安卓7.0及以上系統抓包方式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM