問題原因:
安卓系統 7.0 以上版本,微信 7.0 以下版本,微信會信任系統提供的證書
安卓系統 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的證書列表
解決方法:
1.xposed+JustTrustMe
TIP:使用這種方法微信H5無法抓包
2.項目源碼中配置文件
(1)在源碼res目錄下新建xml目錄,增加network_security_config.xml文件
工程名/app/src/main/res/xml/network_security_config.xml
<network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" overridePins="true" /> //信任系統證書 <certificates src="user" overridePins="true" /> //信任用戶證書 </trust-anchors> </base-config>
(2)修改項目的AndroidManifest.xml文件,在application中增加android:networkSecurityConfig="@xml/network_security_config"
<?xml version="1.0" encoding="utf-8"?> <manifest ... > <application android:networkSecurityConfig="@xml/network_security_config" ... > ... </application>
TIP:需要項目源碼,每個項目都要進行配置
3.將證書變為系統證書
(1)安裝證書到手機
手機需要Root權限,出現無法安裝時候可以軟件導出證書到電腦,然后放入手機,通過SD卡進行安裝
(2)安裝re管理器(Root Explorer)
(3)將/data/misc/user/0/cacerts-added/********.0復制到一個文件夾里,然后從手機系統設置——安全——清除憑證 把charles的證書憑證刪除
(4)進入RootExplorer管理器,將********.0證書文件剪貼到/system/etc/security/cacerts/文件夾下,並把文件的權限設置成rw-r-r-
(5)重啟手機,進入 設置——安全——信任的憑證——系統標簽 里查看證書