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

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

建议

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

安装逍遥模拟器,并启动

下载虚拟机apk包

设置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,上滑就可以找到了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容