1. 導(dǎo)出證書(以Charles為例)#
安卓7.0以后,安卓不信任用戶安裝的證書,所以抓https時無法解碼請求,對于第三方應(yīng)用,需要將證書添加為系統(tǒng)證書,網(wǎng)上解決方法較多,比如使用安卓模擬器(兼容性差,很多應(yīng)用閃退),使用xposed框架等,這里使用安卓手機(jī)添加證書。
注:需要手機(jī)有root權(quán)限,以下操作以小米9 SE為準(zhǔn),其他品牌手機(jī)操作可能有差別。
help --> SSL Proxying --> Save Charles Root Certificate...
Copy證書路徑: /system/etc/security/cacerts 文件命名格式(如果計(jì)算出來的hash值已經(jīng)存在則編號依次+1): <證書Hash值>.編號
需要安裝openssl: win10下安裝
Copy//以下根據(jù)導(dǎo)出的證書格式2選1//.cer格式證書openssl x509 -inform DER -subject_hash_old -in 證書文件.cer//.pem格式證書openssl x509 -inform PEM -subject_hash_old -in 證書文件.pem
計(jì)算結(jié)果:
Copy//cer格式openssl x509 -inform DER -text -in xxx.cer > 0dd2455e.0//pem格式openssl x509 -inform PEM -text -in xxx.pem > 0dd2455e.0
最后編輯一下輸出的文件,把 -----BEGIN CERTIFICATE----- 到最后的這部分移動到開頭。結(jié)果如下
上傳證書文件0dd2455e.0到手機(jī)/system/etc/security/cacerts路徑下。
方法1: 使用adb連接
Copy執(zhí)行: 1. adb push 0dd2455e.0 /sdcard 2. adb shell 3. su 4. mount -o remount,rw /system#mount -o rw,remount /system5. cp /sdcard/0dd2455e.0 /system/etc/security/cacerts/ 6. chmod 644 /system/etc/security/cacerts/0dd2455e.0
方法2: 使用第三方文件管理器(推薦)
下載酷安市場app --> 分別搜索 Syslock 和 RE管理器 并下載安裝(其他應(yīng)用市場下載也可以)
給 Syslock 和 RE管理器 root權(quán)限(以小米為例:安全中心-->應(yīng)用管理-->權(quán)限-->ROOT權(quán)限管理-->找到應(yīng)用并開啟)
打開Syslock并解鎖 /system (每次重啟后都得開啟一次)
將文件拷貝至手機(jī)中
使用RE管理器將文件拷貝到 /system/etc/security/cacerts 下
修改文件權(quán)限
到此然后重啟手機(jī)。就可以正常抓https數(shù)據(jù)包了。
也可以到手機(jī) 設(shè)置->安全->信任憑據(jù)-->系統(tǒng) 查看。