如何用抓包代理软件Charles或Fiddler能抓取并解密APP的https包

前日我们提到抓包代理软件Charles或Fiddler,还是其他软件也好,对某些APP的https代理抓取是不能解析的,也即是看见的https是unknown或乱码。 为什么是这样? 可以参考这篇文章说明。

为什么抓包代理软件对有些APP应用可以解密https包而有些APP乱码

搞清楚了原因以后,那就具体来看如何能正确解密https包。

主要的方法有两种:

使用Xposed框架 + JustTrustMe将抓包工具Charles或Fiddler的证书直接安装到系统根目录中

但第二种方法可能解决一部分问题,所以这里我们主要介绍第一种方法。 这种方法主要是解决APP端抓包绕开SSL pinning。也即使得防止中间人攻击失效。

第一步: 在电脑上安装安卓APP模拟器, 推荐的模拟器有以下几种:

夜神模拟器

网易MuMu安卓模拟器

雷电安卓模拟器

逍遥安卓模拟器

我们选择网易MuMu安卓模拟器, 下载并成功安装。 目前该模拟器支持安卓6.0。

第二步: 下载Xposed installer和JustTrustMe

因为我们模拟器使用的是6.0版本, 所以从以下链接下载的Xposed installer。

?t=

版本是3.1.5。

JustTrustMe包从以下链接获取APK包:

第三步: 在网易MuMu模拟器中安装Xposed installer。 在模拟器中点击【+APK】如下图所示,找到下载的Xposed installer的APK包即可:

第四步: 安装好Xposed installer后,在模拟器中点击它的图标执行。弹出页面会提示安装Xposed框架,选择install即可。

第五步:在网易MuMu模拟器中安装JustTrustMe。方法同上步。

第六步:在Xposed installer里,激活JustTrustMe。点击Xposed installer应用里的左上角,弹出如下菜单。如图示:

点击“模块”,勾选JustTrustMe模块。

第七步: 重启网易MuMu模拟器。

第八步: 在网易MuMu模拟器中设置WLAN代理为Charles或Fiddler软件指定的代理地址和端口。

第九步:在网易MuMu模拟器中运行你想抓包的APP软件,同时在Charles软件里观察抓取的https解密包。

下图是抓取快手APP的https包。网上有许多文章分享了如何抓取快手视频,但因快手APP技术的升级,导致抓取快手视频的方法失效。因此,感兴趣的同学,可以基于本篇研究如何抓取快手视频的新方法。