背景
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/15193.html
標籤:AI
