把charles,F(xiàn)iddler 證書安裝到android根目錄,解決android7.0以上抓包無網(wǎng)絡(luò)問題

首先文章解決的是安卓手機安裝證書后依然無法抓包https請求

問題背景

  1. 安卓系統(tǒng)>7.0,且應(yīng)用不信任用戶安裝的證書文件

Fiddler證書安裝到安卓根目錄

  1. 下載fiddler證書到電腦上
  2. 打開命令窗口,執(zhí)行以下命令,查看證書信息
#Fiddler文件
openssl x509 -inform DER -subject_hash_old -in FiddlerRoot.cer
Fiddler文件

保存上圖執(zhí)行命令后第一行輸出內(nèi)容,轉(zhuǎn)換證書格式:,把上個命令第一行輸入內(nèi)容,命名為新文件名稱+.0后綴格式,如果證書名字一樣明明為文件名+.1即可,以此類推還可以文件名+.2 文件名+.3....

openssl x509 -inform DER -in FiddlerRoot.cer -text > e5742ab9.0

編輯輸出的文件,把"-----BEGIN CERTIFICATE-----"到文件結(jié)束這部分移動到文件首部
執(zhí)行adb命令連接手機,獲取權(quán)限,把文件夾掛載為讀寫模式,把文件復(fù)制到證書根目錄

adb root

adb remount

adb shell mount -o rw,remount /system

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

以上就OK了。如果不放心可以cd 到對應(yīng)目錄,檢查文件是否存在,文件權(quán)限是否與其他證書一致
證書安裝OK,其他代理選項正常配置即可

Charles證書安裝到安卓根目錄

  1. 下載證書到電腦上
  2. 打開命令窗口執(zhí)行以下命令,查看證書信息
openssl x509 -subject_hash_old -in charles-ssl-proxying-certificate.pem
Charles文件

保存上圖執(zhí)行命令后第一行輸出內(nèi)容,轉(zhuǎn)換證書格式:,把上個命令第一行輸入內(nèi)容,命名為新文件名稱+.0后綴格式

mv charles-ssl-proxying-certificate.pem e5742ab9.0

執(zhí)行adb命令連接手機,獲取權(quán)限,把文件夾掛載為讀寫模式,把文件復(fù)制到證書根目錄

adb root

adb remount

adb shell mount -o rw,remount /system

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

以上就OK了。如果不放心可以cd 到對應(yīng)目錄,檢查文件是否存在,文件權(quán)限是否與其他證書一致
證書安裝OK,其他代理選項正常配置即可

問題解決

error: no devices/emulators found或者adb: unable to connect for root: no devices/emulators found

adb disable-verity 

adb reboot  # 重啟

然后重新按照上面的步驟操作

如果提示adb命令參數(shù)錯誤,找一個版本高點的adb工具包

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容