1
locoz 2019 年 1 月 20 日 via Android 之前写的,看看能不能帮上你。https://zhuanlan.zhihu.com/p/46433599
|
2
7lsu 2019 年 1 月 20 日
是指抓不到吗?安卓 7.0+的话要配置系统证书才行
|
3
letitbesqzr 2019 年 1 月 20 日 我猜楼主是说的如何绕过 android 7.0+ 以后的 SSL Pinning 吧。
比如微信 7.0 在 android 7.0+以上的版本,就会有 SSL Pinning, 只信任系统内置的证书。 "客户端在收到服务器的证书后,对该证书进行强校验,验证该证书是不是客户端承认的证书,如果不是,则直接断开连接。" 可以尝试以下几个方案: 1. xposed 及其插件 JustTrustMe (可以配合 virtualxposed) JustTrustMe 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。 2. 将证书安装到系统证书中(需要 root ) 系统证书的目录是:/system/etc/security/cacerts/ 每个证书的命名规则为:<Certificate_Hash>.<Number> Certificate_Hash 表示证书文件的 hash 值,Number 是为了防止证书文件的 hash 值一致而增加的后缀; 证书的 hash 值可以由命令计算出来,在终端输入 openssl x509 -subject_hash_old -in <Certificate_File>,其中 Certificate_File 为证书路径,将证书重命名为 hash.0 放入系统证书目录,之后你就可以正常抓包了。 3. VirtualApp (最简单的) 大概的介绍,VirtualApp 是一个开源的 Android App 虚拟化引擎,允许在其中创建虚拟空间,并在这个虚拟空间中运行其他应用。 我不是很清楚这个东西的原理,看介绍感觉应该是 VirtualApp 代理运行了程序,然而代理程序后并没有带 SSL Pinning 的功能? 实际测试,VirtualApp 直接把微信 7.0 在里面运行,直接按照以前的方法就可以进行抓包。 |
4
raphael008 2019 年 1 月 21 日
建议用备用手机号注册账号去抓,某些 APP 会针对破解 SSL Pinning 封账号的,比如:饿了么🤣
|
5
coolmint 2019 年 1 月 21 日
@letitbesqzr 感谢,试试那个 xposed 模块去,方法 2 我之前直接用复制粘贴的形式失败了,但我同事成功了,看来还是我想的太简单了
|