继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

解决app应用在开启抓包工具后无法联网问题-图文教程

2018-09-30 18:28:0455976浏览

大壮老师

2实战 · 8手记 · 9推荐
TA的实战

抓取app应用数据包时,我们通常会遇到如下问题

fiddler设置是没问题的,手机的配置也没有问题,可是打开app后发现无法联网,fiddler也无法抓取到数据包
这是怎么一回事呢?

图片描述
首先我们需要学习一个知识点:

什么是SSL pinning

https协议验证服务器身份的方式通常有三种,一是根据浏览器或者说操作系统(Android)自带的证书链;二是使用自签名证书;三是自签名证书加上SSL Pinning特性。第一种需要到知名证书机构购买证书,需要一定预算。第二种多见于内网使用。第三种在是安全性最高的,但是需要浏览器插件或客户端使用了SSL Pinning特性。
Android应用程序在使用https协议时也使用类似的3种方式验证服务器身份,分别是系统证书库、自带证书库、自带证书库 + SSL Pinning特性。
所以SSL Pinning,即SSL证书绑定,是验证服务器身份的一种方式,是在https协议建立通信时增加的代码逻辑,它通过自己的方式验证服务器身份,然后决定通信是否继续下去。它唯一指定了服务器的身份,所以安全性较高。

通俗的来说就是:

app发布的时候把服务器的证书信息“绑定“在APP端,然后建立连接时使用预先内置的绑定信息进行服务器证书校验,同时使用足够的代码加密或混淆,这种办法就是SSL pinning,如果证书校验失败,则无法获取服务器端返回信息

解决办法

安装Xposed框架 + JustTruestMe组件

Xposed是一个框架,它可以改变系统和应用程序的行为,而不接触任何APK。它支持很多模块,每个模块可以用来帮助实现不同的功能。JustTrustMe 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。

解决步骤

1、根据相应的安卓版本下载xposed框架安装包

图片描述

2、在夜神模拟器或安卓手机中安装Xposed框架

图片描述

3、点击打开xposed框架,选择安装激活并重启

图片描述
图片描述
图片描述
图片描述

点击确定后,设备会重启并进行更新安装

4、下载JustTrustMe组件

5、在夜神模拟器或安卓设备中安装JustTrustMe组件

图片描述

6、在xposed框架中启用JustTrustMe组件

点击模块

图片描述

7、勾选并重启

图片描述

8、再次抓取数据包,就可以联网了

图片描述

**

**

打开App,阅读手记
11人推荐
发表评论
随时随地看视频慕课网APP

热门评论

非常好,谢谢老师?

安卓9.0之后的版本怎么办

一直无法安装

https://img1.mukewang.com/5c9dd7d90001556810802340.jpg

查看全部评论