解决Android7.0以上,微信无法抓包问题

背景

        通过whistle,在手机已设置本机代理,安装证书后,仍无法访问开发版微信小程序

问题根源

    官方:https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html

    在 Android7.0 及以上的系统中,每个应用可以定义自己的可信 CA 集集。

    默认情况下,应用只会信任系统预装的 CA 证书,而不会信任用户安装的 CA 证书

    省流:

    1、安卓系统 7.0 以下版本,不管微信任意版本,都会信任系统提供的证书
    2、安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书
    3、安卓系统 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的证书列表

自己开发的安卓APP,可以在源码添加配置

        参考文档:https://developer.android.com/privacy-and-security/security-config?hl=zh-cn

        直接修改 APP的android:networkSecurityConfig属性

        在 AndroidManifest.xml 中

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:networkSecurityConfig="@xml/network_security_config"
    ... >
    ...
    </application>
</manifest>

        配置文件:res/xml/network_security_config.xml

<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" overridePins="true" /> <!--信任系统证书-->
            <certificates src="user" overridePins="true" /> <!--信任用户证书-->
        </trust-anchors>
    </base-config>
</network-security-config>

然后重新打包抓包就可以了

非自己开发的APP(如微信),如何解决?

参考文章:VirtualXposed 的安装 | 静觅

VirtualXposed说明文档:https://github.com/android-hacker/VirtualXposed/blob/vxp/CHINESE.md

VirtualXposed 是基于 VirtualApp 和 epic 在非 ROOT 环境下运行 Xposed 模块的实现(支持 5.0~10.0)

实践

注意:所有的工作(安装Xposed模块,安装APP)必须在 VirtualXposed中进行,否则Xposed模块不会有任何作用!比如,将微信直接安装在系统上(而非VirtualXposed中),防撤回安装在VirtualXposed中;或者把微信安装在VirtualXposed上,防撤回插件直接安装在系统上;或者两者都直接安装在系统上,均不会起任何作用

  1. 下载VirtualXposed,下载地址:https://github.com/android-hacker/VirtualXposed/releases

  2. 电脑下载完成后,拖动apk至手机(此处用华为荣耀v30做演示)

  3. 安装VirtualXposed完成后,打开app,点击圆环

  4. 点击【添加应用】,在VirtualXposed安装微信。

  5. 安装完成,在VirtualXposed内上滑,可查看已安装应用,打开微信并登录微信账号

  6. WiFi设置本机代理,并下载证书安装(此处不做介绍)

  7. 在VirtualXposed内打开微信,在微信小程序开发工具扫码登录,并使用真机调试即可

  8. 抓包记录如图

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值