先讲一下有这篇文章的背景吧,在使用安卓手机+fiddler抓包时,即使信任了证书,并且手机也安装了证书,但是还是无法捕获https请求的问题,最开始不知道原因,后来慢慢了解到现在有的app为了防止抓包,把证书放在了app应用里面(称为证书绑定(也称作SSL pinning)的技术),这样就导致即使手机信任了fiddler的证书,也会导致无法抓取到https请求。
在网上看到了帖子,说可以先将手机root,然后将证书安装到root之后的手机系统证书里面,所以就按照这个思路开始了手机root之旅。
一、安卓手机root
我只有一个多年未用的redmi note手机,所以就以这个说明,借鉴了B站UP主Good_idea的视频:
2021安卓手机root?不要到处找了,看这一个就够了,刷面具 刷Magisk获得root_哔哩哔哩_bilibili
不要找了!B站最纯净的,小米root刷面具root教程科普视频_哔哩哔哩_bilibili
感觉讲的很详细,请大家自己观看操作,刷机这里我也不是很懂。
二、root之后还是无法捕获 https请求
手机root之后,按照把 charles,Fiddler 证书安装到安卓根目录,解决安卓微信 7.0 版本以后安装证书也无法抓包问题,需要 root - 宠你的鑫 - 博客园
这个贴的说明来操作,但是执行
adb root
执行这个命令之后,报错如下:
adbd cannot run as root in production builds
于是又在网上搜各种解决方法,有说要下载超级adb.apk的(adbd-insecure.apk)帖子链接如下:
Android问题adb cannot run as root in production builds解决_adbd cannot run as root in production builds-CSDN博客
但是这个方法对我无效果。也有说通过adb shell切换root权限的