android 7.0之后導(dǎo)入證書解決fiddler等軟件無(wú)法解析加密報(bào)文

背景

7.0之后Android默認(rèn)不相信用戶自己安裝的證書,需要程序自己實(shí)現(xiàn)是否相信用戶證書。在此背景下,fiddler無(wú)法抓包https加密的報(bào)文,這種情況下解決辦法只有兩個(gè),一個(gè)是不用android7.0以上的設(shè)備。。通常模擬器都是6.0目前,所以還可以。還有一個(gè)方法就是安裝系統(tǒng)的根證書。我們這里就采用的第二個(gè)方法。

條件

一臺(tái)root的手機(jī),這里使用的是nexus6p

方式

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

2.得到證書的哈希值:

openssl x509 -inform DER -subject_hash_old -in fiddlerRoot.cer | head -1

得到類似字符串:e5c3944b

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

3.重命名文件,將證書命名為e5c3944b.0 #這個(gè)后面的數(shù)字就是為了防止重復(fù)的,如果存在同樣hash的話,0可以改成1,一次類推

4.拷貝文件到手機(jī)存放根證書的目錄:我這里不知道為什么直接adb進(jìn)行root操作不行,所以是先拷貝到sdcard,然后再mv到存放根證書的目錄

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

2)? adb shell

3)? root權(quán)限 :su

4)重新掛載system分區(qū)為可讀寫: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.重啟設(shè)備即可

上述一頓操作之后,就可以實(shí)現(xiàn)大多數(shù)應(yīng)用的ssl解密了,還不行的試試xposed插件,justtrustme,可以破解ssl pining

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

相關(guān)閱讀更多精彩內(nèi)容

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