简单对遇到的 APP 不好抓包的情况做个总结,篇幅较短只讲述方法,没有实战。

如有错误,请在留言区中评论。

单向认证的APP


单向认证和双向认证

•单向验证的情况是客户端校验证书,校验出错就无法访问 •双向认证的情况是客户端校验证书的时候,服务端也要校验证书,有一端证书校验失败都无法访问数据。缺点是服务器的压力比较大 处理方法

一般是使用 JustTrustMe

原理是通过 Xpose Hook 校验的 API

APP不走代理


如何确定 APP 不走代理?

•关闭代理服务器(fiddler等代理抓包工具) •使用手机访问浏览器网页访问失败,确定代理失效 •使用APP访问,正常访问确定 APP 不走代理访问网络

处理方法

•更换不基于代理类型的抓包工具(HTTP Analyzer V7--缺点没办法用在真机、HTTP Debug Pro、手机端的HttpCanary-基于VPN) •hook - 先反编译看看他是使用了那个框架,然后针对性的hook -- 菜鸡劝退 •iptables 强制拦截转发

代理检测的APP


挂上代理之前APP访问正常,挂上代理之后APP无法使用显示网络出错等情况

•代理检测(hook 代理检测的方法) •证书检测(用 JustTrustMe )

双向认证的APP


双向认证的情况是客户端校验证书的时候,服务端也要校验证书,有一端证书校验失败都无法访问数据。

不过在双向认证的APP中要做到双向验证,在APP中一般要配置好服务器端验证的证书,所以在客户端中我们可以找到一个服务端的证书,我们只要在 Fiddler 中配置好这个证书就可以请求了。

ps:证书一般带有密码,需要反编译找到密码,之后导入至系统当中,再从系统中导出为 .cer 证书格式,之后在 FiddlerScript 中配置即可。