Android 高版本无法抓取 HTTPS解决方案

枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述Android 高版本无法抓取 HTTPS解决方案相关的知识,希望能为你提供帮助。
在接口测试中,相信很多人都遇到过 android 高版本(Android7.0 以上)系统无法抓取HTTPS包的问题。
由于在测试过程中对分析定位问题很不方便,所以咱们自己要想办法解决这个问题
一、Android6.0 及以下系统可以抓包,而 Android7.0 及以上系统不能抓包;
        原因:Android7.0+ 的版本新增了证书验证,所以 App 内不再像原来一样默认信任用户的证书;
二、解决方案
1.让安卓开发解决,重新打包,对于安卓开发同学来说无非是多加几行代码的事,但是如果要想抓取别人产品的HTTPS包,那这种方式就行不通了。
2.换一部Android6.0以下的手机/用系统6.0一下的模拟器安装app,可以解决这个问题
【Android 高版本无法抓取 HTTPS解决方案】3.Charles + VirtualXposed + JustTrustMe【主要讲解第三种方案】
三、首先进入 Github 下载如下两个 Page

  • VirtualXposed:https://github.com/android-hacker/VirtualXposed
  • JustTrustMe:https://github.com/Fuzion24/JustTrustMe     
Android 高版本无法抓取 HTTPS解决方案

文章图片

 
 
Android 高版本无法抓取 HTTPS解决方案

文章图片

 
  1.使用如下 adb 命令分别安装两个 pages
adb -s C7YVB20413007239 install D:\\chomeDow\\VirtualXposed_0.18.2.apk
adb -s C7YVB20413007239 install D:\\chomeDow\\JustTrustMe.apk
Android 高版本无法抓取 HTTPS解决方案

文章图片

 
  2.安装完成进入 VirtualXposed apk 应用,点击 6 个小点进入设置页面
Android 高版本无法抓取 HTTPS解决方案

文章图片

 
  3.进入设置页面,点击模块管理,勾选 JustTrustMe(我这里没有找到它,可能是我这个版本不需要在手动选择了,安装之后自动识别到了)重启之后我们重新进去设置页面,添加我们需要抓包的应用即可,我这里选择的钉钉做案例。
Android 高版本无法抓取 HTTPS解决方案

文章图片

 
  4.点击添加应用,选择需要抓包的软件安装:
Android 高版本无法抓取 HTTPS解决方案

文章图片

 
  5.配置 Charles 抓包
6.回到 VirtualXposed 上滑解锁,打开我们之前安装的企业微信,则发现 charles 已经成功抓取到钉钉的 HTTPS 的数据包

 

    推荐阅读