一、
背景:某8APP具體房源樓層號,具體的樓層號被(高中低)代替,看不了樓層太不方便了!!!
1、環境:
pc:fidder、安卓模擬器安卓4.0系統(避免7.0等高版本系統的安全規則)
安卓模擬器安裝fidder證書並將wifi代理至fidder:8888端口(或使用proxifier轉發至fidder端口)
2、抓包
(1)模擬器中安裝某8App,開啓Fidder後發現二手房源列表直接斷網,推測開啓了SSL證書校驗;
(2)在模擬器中刷入Xposed框架,並編譯最新版Just Trust Me刷入,發現還是斷網,推測源代碼被混淆,因爲Just Trust Me是HOOK源代碼中OKHttp3下的Check(X509certificate ....)方法進行強制校驗爲true的,若方法名被更改,會導致JTM模塊不起作用;
(3)jadx直接反編譯apk,看到有證書:
(3.1)但發現check方法並沒有被混淆,JTM模塊失效的原因未知:
(4)將apk後綴名改爲zip直接解壓,搜索 .cer文件:
(5)將Fidder的證書分別轉換爲cer,crt,pem格式並重命名爲該apk下的證書名稱,替換該解壓包內的證書;
(6)壓縮,後綴名改爲apk,丟入模擬器;
3、驗證
發現該App所有的https請求都被fidder捕獲且是明文,且在https的接口中發現了隱藏的數據。
二、
1、去掉JTM後,抓包還是斷網,可見JTM起作用了,可能是hook了別的API,比如verify
參考:https://blog.csdn.net/tangsilian/article/details/86612470
2、 參考思路:
https://zhuanlan.zhihu.com/p/63028507
三、參考文章:
除JTM外的抓包方案:
https://blog.csdn.net/CharlesSimonyi/article/details/90493122
https://blog.csdn.net/CharlesSimonyi/article/details/90518367