前言

近日因需分析一款app协议,遂记录。


一、基础方案

1.fiddler + 雷电

去掉作为系统代理后重启fiddler
去掉作为系统代理后重启fiddler

设置WIFI代理
设置WIFI代理

安装本地根证书
安装本地根证书

2.提示证书有问题

fiddler中能抓到部分 http/s
依旧提示证书有问题
证书有问题

3.证书权限不足

可能是证书权限不足
也可能是其他问题

期间尝试了很多方法
与其琢磨一个问题都不清楚的问题
考虑能否绕过也是一种解决思路


二、绕过证书效验

1. Xposed + JustTrustMe

Xposed在雷电商店中直接安装上即可
JustTrustMe会放在在本文末尾的附件中

安装完成后重启模拟器
JustTrustMe

2.关键数据抓不到

此时再使用wifi代理的方式
可以发现不再提示证书错误
然而尝试抓app的数据
却发现部分关键数据抓不到

3.第三方网络库

APP在使用第三方网络库
retrofit okhttp asychttpclint
是不走系统代理的

4.为何不用 Wireshark

Wireshark 中分析 https 不仅需要复杂的设置
而且远不及 web debug 类工具清晰


三、最终方案

fiddler + Proxifier + 雷电 + Xposed + JustTrustMe

Proxifier 在某些特别的方面能发挥妙用
其原理并不复杂:
将原有的协议包装成 http/s socks5 等转发到代理服务器

Proxifier 中设置好代理服务器及规则即可
默认的放行
Proxifier


总结

发现问题后解决之
循序渐进
最后经过总结提炼
就能得到一种称为经验的东西


附件

JustTrustMe是一个开源项目
注意,原开源项目中的 Release 并不是最新编译

该附件来自看雪论坛
点我下载 JustTrustMe_20190516.rar