安卓手機添加系統證書方法(HTTPS抓包)


安卓7.0以后,安卓不信任用戶安裝的證書,所以抓https時無法解碼請求,對於第三方應用,需要將證書添加為系統證書,網上解決方法較多,比如使用安卓模擬器(兼容性差,很多應用閃退),使用xposed框架等,這里使用安卓手機添加證書。

注:需要手機有root權限,以下操作以小米9 SE為准,其他品牌手機操作可能有差別。

1. 導出證書(以Charles為例)

help --> SSL Proxying --> Save Charles Root Certificate...

2. 安卓證書儲存格式

image-20210412150201316

證書路徑:
/system/etc/security/cacerts
文件命名格式(如果計算出來的hash值已經存在則編號依次+1):
<證書Hash值>.編號

3. 將導出的證書計算hash值

需要安裝openssl: win10下安裝

//以下根據導出的證書格式2選1
//.cer格式證書
openssl x509 -inform DER -subject_hash_old -in 證書文件.cer
//.pem格式證書
openssl x509 -inform PEM -subject_hash_old -in  證書文件.pem

計算結果:

image-20210412150738095

4. 生成系統系統預設格式證書文件

//cer格式
openssl x509 -inform DER -text -in xxx.cer > 0dd2455e.0
//pem格式
openssl x509 -inform PEM -text -in xxx.pem > 0dd2455e.0

最后編輯一下輸出的文件,把 -----BEGIN CERTIFICATE----- 到最后的這部分移動到開頭。結果如下

image-20210412151041173

5. 上傳證書

上傳證書文件0dd2455e.0到手機/system/etc/security/cacerts路徑下。

方法1: 使用adb連接

執行:
1. adb push 0dd2455e.0 /sdcard
2. adb shell
3. su
4. mount -o remount,rw /system
#mount -o rw,remount /system
5. cp /sdcard/0dd2455e.0 /system/etc/security/cacerts/
6. chmod 644 /system/etc/security/cacerts/0dd2455e.0

方法2: 使用第三方文件管理器(推薦)

  • 下載酷安市場app --> 分別搜索 SyslockRE管理器 並下載安裝(其他應用市場下載也可以)
  • SyslockRE管理器 root權限(以小米為例:安全中心-->應用管理-->權限-->ROOT權限管理-->找到應用並開啟)
  • 打開Syslock並解鎖 /system (每次重啟后都得開啟一次)
  • 將文件拷貝至手機中
  • 使用RE管理器將文件拷貝到 /system/etc/security/cacerts 下
  • 修改文件權限

到此然后重啟手機。就可以正常抓https數據包了。
也可以到手機 設置->安全->信任憑據-->系統 查看。


免責聲明!

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



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