1.前言

以前抓包,只要将证书直接导入至用户,就能愉快得抓取https的请求,忽然有一天,就用不了,很奇怪,抓包软件显示

Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)

原因是Android7.0 之后默认不信任用户添加到系统的CA证书,知道了原因,解决起来就很简单了。

2.模拟器和burp 打开代理(这一块大部分教程都相似,所以略讲)

2.1 burp设置代理方式

在这里插入图片描述

2.2模拟器设置代理方式

在这里插入图片描述

2.3导出CA证书

模拟器中进入http://burp页面,点击黄色的地方下载

在这里插入图片描述
下载了之后,证书就在文件管理器的Download文件夹下(可能不同模拟器位置不同,大家找不到,可以自行百度)
在这里插入图片描述

3.将证书安装到系统的凭证里

3.1安装adb(自行搜索教程安装)并配置好环境变量,最后输入

 adb --version

查看是否安装成功

3.2安装openssl(自行百度搜索教程)这个是用来进行证书格式转换

可以将上面的burp下载好的证书的移动到桌面,打开cmd,输入命令

cd Desktop

输入命令

openssl x509 -inform der -in cacert.der -out burp.pem

这里是将der文件转化为pem文件,输入之后桌面上会出现两个文件
在这里插入图片描述

3.3使用ADB命令连接逍遥模拟器

1.找到逍遥模拟器的文件的MEmu目录(各个模拟器的目录命名可能不同,请自行百度)
在这里插入图片描述
2.在该目录下打开cmd输入命令(该端口是逍遥模拟器的端口,各模拟器可能有所不同)

adb connect 127.0.0.1:21503

显示连接成功
在这里插入图片描述
3. 判断是否开启root权限,输入

adb root

显示已开启root
在这里插入图片描述
4.开启写入模式

adb remount

显示写入模式开启成功
在这里插入图片描述
5.获取hash结果里证书的名称
在桌面上打开cmd,输入

openssl x509 -subject_hash_old -in burp.pem

显示
在这里插入图片描述
6.我们将桌面上的burp.pem改名为9a5ba575.0,再将该文件放到模拟器的MEmu目录当中
在这里插入图片描述
7.将该文件送至模拟器的证书目录下,在MEmu目录中输入命令

adb push 9a5ba575.0 /system/etc/security/cacerts/

显示安装成功
在这里插入图片描述
8.我们最后到模拟器中查看是否安装成功
在这里插入图片描述
这样的话就是安装成功了,又可以愉快的玩耍了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐