返回

学习笔记 | 为 MuMu 模拟器 12 安装 HttpCanary 证书

安装证书时直接显示"未安装该证书",选择使用 adb 安装

原因

最近需要对软件进行抓包,但是 HttpCanary 的证书无法正常安装。按照教程点击安装,但是却弹出”未安装该证书“。这是官方的说法:

部分用户在使用MuMu模拟器X版本的过程中需要进行抓包一类的操作,但发现无法安装导入证书,无法正常抓包,这是因Android7.0之后新版本系统的安全限制导致(Android7.0 之后默认不信任用户添加到系统的CA证书)

官方给出了使用 adb 安装的方法,网络上也有一些相关博文,然而都是使用其他抓包工具,没有使用 HttpCanary 的,所以自己记录一下。

我的 MuMu 模拟器 12 的版本是 V3.6.11(2438)。

由于我过程中没有截图,所以这里只简单用文字描述一下过程,如果有疑惑的话可以查看参考文献中的相同步骤的截图。

安装流程

原理

用 adb 直接把证书移到系统证书位置 /etc/security/cacerts/ 里。

模拟器设置

打开 MuMu 模拟器设置界面。

  • 在“磁盘”中将“磁盘共享”改为“可写系统盘”。

  • 在“其他”中将“开启手机Root权限”选中。

当然,在完成安装流程后这些都是可以改回去的。

导出证书

在 HttpCanary 设置界面中,进入"SSL 证书设置",点击“导出HttpCanary根证书”,选择“System Trusted(.0)”格式,导出证书默认就在 /HttpCanary/cert/ 下,我的文件名是 87bc3517.0

参考文献里其他的抓包工具只能导出 .pem 格式,需要用 OpenSSL 重新签发为 .0 格式,而 HttpCanary 直接为我们提供了 .0 格式的导出,很方便,减少了很多步骤。

adb 安装证书

如果不了解或者没有 adb,可以先在其他博客中自行学习一下。

首先连接到 MuMu 模拟器并申请权限:

adb connect 127.0.0.1:7555
adb root
adb shell

其中第二步运行后,模拟器会有一个弹窗,显示“Shell 正在请求超级用户访问权限“,选择“仅此次”,点击允许。

第三步运行后,提示符会发生变化,这时候就进入 Android 的 shell 了。

将证书文件放入系统位置:

mv /sdcard/HttpCanary/cert/87bc3517.0 /etc/security/cacerts/

可以检查一下是否成功移动文件:

cd /etc/security/cacerts/
ls 87bc3517.0

确认后证书就安装完毕了,可以输入 exit 按下回车退出 shell。

安装完成

这时候启动 HttpCanary 开始抓包,软件可能仍然会显示提示条,不要紧,打开软件试试,如果能抓到 Https 请求就代表证书安装成功了,可以正常抓包了。

当然,有些软件会有 root 检查,启动会闪退,你可以把 MuMu 模拟器设置修改回去,没有影响。

然而有些软件同时还有证书验证,可能开始抓包后会无法联网(没错,说的就是你,森空岛。),难绷。

后续

写完上面一大堆之后,不知道在写博客的时候是哪里捣鼓坏了,我的抓包又变成之前那样没法抓了,但是当时刚搞完确实是可以抓的。

后面又按照 这篇博客 整了一下,效果也只持续了一下,重启模拟器之后就也不能抓了,不知道是什么鬼。

附录

参考文献

  1. 网易mumu模拟器安装下载charles的CA证书 - 悟透 - 博客园

  2. MuMu模拟器X版本如何安装证书?_MuMu模拟器_安卓模拟器

  3. burp抓包mumu模拟器_mumu模拟器如何安装信任凭证-CSDN博客

版权信息

本文原载于reincarnatey.net,遵循CC BY-NC-SA 4.0协议,复制请保留原文出处。

本博客所有内容无特殊标注均为失迹原创内容,复制请保留原文出处。
Built with Hugo
Theme Stack designed by Jimmy, mod by Korita
© Licensed Under CC BY-NC-SA 4.0