android

android 7.0之後匯入證書解決fiddler等軟體無法解析加密報文

背景

7.0之後Android預設不相信使用者自己安裝的證書,需要程式自己實現是否相信使用者證書。在此背景下,fiddler無法抓包https加密的報文,這種情況下解決辦法只有兩個,一個是不用android7.0以上的裝置。。通常模擬器都是6.0目前,所以還可以。還有一個方法就是安裝系統的根證書。我們這裡就採用的第二個方法。

條件

一臺root的手機,這裡使用的是nexus6p

方式

1.先從fiddler中下載需要的證書,即在本地8888埠下載即可。我這裡下載到的證書名字為:fiddlerRoot.cer

2.得到證書的雜湊值:

openssl x509 -inform DER -subject_hash_old -in fiddlerRoot.cer | head -1
得到類似字串:e5c3944b

(網上看到,如果是crt格式證書,命令為:openssl x509 -inform PEM -subject_hash_old -in CA_Name.crt | head -1)

3.重新命名檔案,將證書命名為e5c3944b.0

4.複製檔案到手機存放根證書的目錄:我這裡不知道為什麼直接adb進行root操作不行,所以是先複製到sdcard,然後再mv到存放根證書的目錄

1)adb push e5c3944b.0 /sdcard/tmp/e5c3944b.0

2)  adb shell

3)  root許可權 :su

4)重新掛載system分割槽為可讀寫:mount -o rw,remount /system

5)  mv /sdcard/tmp/e5c3944b.0 /system/etc/security/cacerts/e5c3944b.0

6)  cd /system/etc/security/cacerts

6)  chmod 644 e5c3944b.0

 

5.重啟裝置即可

上述一頓操作之後,就可以實現大多數應用的ssl解密了,還不行的試試xposed外掛,justtrustme,可以破解ssl pining

本文章已修改原文用詞符合繁體字使用者習慣使其容易閱讀

版權宣告:此處為CSDN博主「liutianheng654」的原創文章,依據CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。

原文連結:https://blog.csdn.net/liutianheng654/article/details/101287072