前日我们提到抓包代理软件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技术的升级,导致抓取快手视频的方法失效。因此,感兴趣的同学,可以基于本篇研究如何抓取快手视频的新方法。