无需root安卓7及以上版本进行https抓包

android7.0以上, android的机制不再信任用户证书,导致https协议无法抓包。除非把证书装在系统信任的证书里,此时手机需要root权限。

建议

  • 该操作在模拟器中进行,建议使用逍遥模拟器
    • 对比了几款模拟器,只有逍遥模拟器支持安卓7以上的系统
    • 使用安卓7以下的版本,可以直接抓到https的请求,但是有的App已经不支持在安卓7以下的系统上运行

安装逍遥模拟器,并启动

  • 官网下载

下载虚拟机apk包

  • github下载地址

    VirtualXposed

    JustTrustMe

  • 百度云盘下载

    链接:https://pan.baidu.com/s/1L0uEMAU478hWqsK5jBBgVQ
    提取码:d5n0

  • 直接下载

    VirtualXposed

    JustTrustMe

设置charles

  • 安装charles
  • 设置charles代理
  • 将charles的证书安装到模拟器
  • 菜单:Proxy-SSL Proxying Settings-SSL Proxying页签下的Enable SSL Proxying选项必须选中

安装

  • 安装需要抓包的APP

  • 将上一步下载的VirtualXposed和JustTrustMe 的APK拖进模拟器进行安装

  • 安装完成后会在桌面生成VirtualXposed图标,如图

    1

使用

  • 打开VirtualXposed

  • 会提示<关于后台运行>,直接选择同意

  • 点击6个小点进入设置页面

    image-20201125161227992
  • 进入设置页面后,选择添加应用

    image-20201125161607374
  • 选择需要抓包的APP,进行安装

  • 安装方式,选择VIRTUALXPOSED

    image-20201125162117242
  • 等待安装……

  • 安装完成后打开APP,记得一定是在虚拟机内打开

  • 这时在通过抓包工具就可以看到请求和响应信息了

    • 如果不在VirtualXposed内打开,抓到的可能只有CONNECT这类的请求,或者是乱码
    • 在VirtualXposed内打开,就可以抓到GET、POST之类的请求了,并且可以看到请求和响应的信息
  • 已经安装过的APP,再次打开VirtualXposed,上滑就可以找到了

你可能感兴趣的:(无需root安卓7及以上版本进行https抓包)