FIDLLER抓包,APP不出现数据的情况

解决方案

上面的都是一些理论方面的内容,到底该如何突破SSL Pinning机制能够抓到App的https请求包呢?

方案一:使用Android7.0以下的系统

目前已验证在Android 7.0或以上的系统有启用了对第三方证书的限制。但是在Android 7.0以下还是依旧可以将Fiddler/Charles的证书安装在用户的CA集中抓取https请求。

方案二:将Fiddler/Charles证书安装到系统默认预置的CA证书区域中

此种办法前提是需要root权限,但是现在很多新款手机获取root权限困难,所以此办法并不推荐。

方案三:反编译APK,修改AndroidManifest.xml文件

  • 有些APK加了壳,需要先进行脱壳处理
  • 再通过apktool等工具进行反编译
  • 在源码的res/xml目录添加network_security_config.xml文件,内容如下:
  • 此种方案比较适用于对反编译比较熟练的童靴

    方案四:VitualXposed框架+JustTrustMe模块(推荐)

    VitualXposed介绍:

    Use Xposed with a simple APP, without needing to root, unlock the bootloader, or flash a system image

    官网下载地址:Download | VirtualXposed
    简单来说,VitualXposed可以在不需要设备root的情况下,修改App的行为。此应用的工作原理类似于应用分身功能,会将应用安装到一个虚拟独立的环境当中,其内部会自带一个已经激活了的Xposed工具。

    JustTrustMe介绍:

    An xposed module that disables SSL certificate checking for the purposes of auditing an app with cert pinning

    JustTrustMe是Github上面的一个开源项目,是xposed中的一个模块,用于禁止SSL证书验证。
    GitHub - Fuzion24/JustTrustMe: An xposed module that disables SSL certificate checking for the purposes of auditing an app with cert pinning

    操作流程:

  • 将VitualXposed安装到真机中,点击应用按钮->添加应用,将要调试的App、JustTrustMe.apk进行安装

  • 打开Xposed,选择左上角导航栏->模块,勾选JustTrustMe

  • 重启VitualXposed应用,打开贝壳找房,通过Fiddler抓包,可以看到App请求正常,https请求能抓到

你可能感兴趣的:(android,fiddler)