Android app协议分析之如何用模拟器抓https数据包



前言

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


一、基础方案

1.fiddler + 雷电

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

image-20221010173249731

设置WIFI代理

image-20221010173305692

安装本地根证书

image-20221010173316333

2.提示证书有问题

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

image-20221010173333328

3.证书权限不足

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

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


二、绕过证书效验

1. Xposed + JustTrustMe

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

安装完成后重启模拟器

image-20221010173355760

2.关键数据抓不到

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

3.第三方网络库

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

4.为何不用 Wireshark

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


三、最终方案

fiddler + Proxifier + 雷电 + Xposed + JustTrustMe

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

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

image-20221010173426410

总结

发现问题后解决之
循序渐进
提炼总结


附件

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

该附件来自看雪论坛

4289405131