28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇( 四 )

28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇
文章插图
敲黑板!!!如果安装错误 , 找到模拟器中的“设置”-“应用兼容”-“关闭” , 然后重新安装Xposed框架

28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇

文章插图
2.3安装JustTrustMe2.3.1JustTrustMe 简介JustTrustMe 一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块 。
项目地址:https://github.com/Fuzion24/JustTrustMe
2.3.2实现原理分析JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook , 从而绕过证书检查的 , 所以弄请原理之前 , 先得弄清楚 Android 上实现 Https 通信有哪几种方式 。
Android 上实现 Https 的几种方式
1.通过 OkHttp 来实现
2.自定义证书和 HostnameVerify 来实现 Https 校验
3.通过 HttpsURLConnection 来实现HttpsURLConnection 中进行 SSL 证书校验
2.3.3下载安装JustTrustMe1.模拟器访问JustTrustMe项目地址 , 如下图所示:
28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇

文章插图
2.下载安装包 , 安装JustTrustMe到模拟器中 , 错误提示不用管 。
2.4 安装完成后打开模块选项1.打开Xposed Installer , 点击右上角的三个横线图标 , 如下图所示:
28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇

文章插图
2.点击“模块” , 如下图所示:
28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇

文章插图
3.在模块里面勾选JustTrustMe , 重启即可 。如下图所示:
28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇

文章插图
至此 , 完成配置 , 再加上之前的Charles或者Fiddler4的HTTPS配置 , 就能抓取HTTPS请求了 。
3.小结今天主要讲解和分享了:
(1)使用xposed hook绕过SSL证书验证
(2)在xposed上安装这个框架就可以了
(3)JustTrustMe的原理就是将各种已知的的HTTP请求库中用于校验证书的API都进行Hook , 使无论是否是可信证书的情况 , 校验结果返回都为正常状态 , 从而实现绕过证书检查的效果 。
Xposed 框架安装器可以看成是个Xposed 框架的管理工具 , 在这里可以安装、更新Xposed 框架 , 也可以卸载Xposed 框架 , 查看安装日志 。也可设置Xposed 框架安装器是否联网更新框架及模块 。
3.1JustTrustMe有个bug需要注意的是JustTrustMe有个坑 , 不要下载它Github中编译的Latest release版本 , 其实那是一个很古老的版本 , 对于APP内嵌的WebView没有做处理 , 安装以后 , URLConnection、OkHttp通信的HTTPS是可以抓到了 , 但是APP内嵌的WebView仍然出错 。所以最好git clone它的最新源代码 , 然后自行编译 。
也可以下载我编译的最新版本:关注宏哥公众号 , 回复“JustTrustMe” 获取下载地址和源码 。
当然这个方案也有缺点 , 毕竟手机被Root后 , 还安装了Xposed框架 , 有的APP可是会检测的 , 发现手机被Root , 或者自身被Xposed Hook , 就罢工了 。
【28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇】

经验总结扩展阅读