一、
背景:某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