1. 程式人生 > 其它 >Android7以上https抓包

Android7以上https抓包

1. 問題描述

1.1 執行環境

1.2 問題描述

  • virtualXposed 不一定支援Android模擬器
  • 無法抓包 https 請求

1.3 問題原因

Android7 以後,系統分了系統證書和使用者證書,使用者安裝的fiddler屬於使用者證書,抓https的請求需要系統證書才行

1.4 抓包工具

fiddler

2. 解決步驟

主要就是把 fiddler 從 使用者證書 轉到 系統證書

2.1 解決需要的環境(自行下載、安裝和配置)

  • cer/pem:抓包證書
  • adb:用來上傳操作手機
  • openssl:用來編譯證書

2.2 首先計算 原證書的 hash值

# .cer格式證書
openssl x509 -inform DER -subject_hash_old -in <證書檔案.cer>
# .pem格式證書
openssl x509 -inform PEM -subject_hash_old -in  <證書檔案.pem>

2.3 新建新證書檔案,操作見 2.2 步驟截圖

2.4 重新編譯原證書 成一個 新證書

# cer格式
openssl x509 -inform DER -text -in xxx.cer 269953fb.0
# pem格式
openssl x509 -inform PEM -text -in xxx.pem 269953fb.0

2.5 上傳 新證書,使新證書為 系統證書

adb push ‪C:\Users\23983\Desktop\269953fb.0 /sdcard

# /system 目錄只讀,我們需要賦予讀寫許可權,然後重新掛載
adb shell
mount -o remount,rw /system

# 把新證書放到 /system/etc/security/cacerts/ 目錄下
cp /sdcard/269953fb.0 /system/etc/securtiy/cacerts/

# 給新證書 重新授權
chmod 644 /system/etc/security/cacerts/269953fb.0

# 重啟
reboot

3. 之後其他的就是正常的抓包設定

例如:設定抓包代理等等