方式一(android8及以下):
mitmproxy证书案例
1. 制作一个Android兼容的证书
2. 获得mitmproxy证书的hash值
openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.pem | head -1
会显示 hash值为 c8750f0d

注意,要用 -subject_hash_old 选项,而不是 -subject_hash 这样才会得到 openssl 0.9 兼容的hash值
3. 创建新的android证书文件,以.0结尾
cat mitmproxy-ca-cert.pem > c8750f0d.0

openssl x509 -inform PEM -text -in mitmproxy-ca-cert.pem -noout >> c8750f0d.0

4. 将证书移动到手机
adb -s 00ee5f09d99d92b2 push ./c8750f0d.0 /data/local/tmp

5. 将证书放入 /system/etc/security/cacerts/
adb shell
su
cd /data/local/tmp
mount -o remount,rw /system # 如果提示/system not in /proc/mounts内容,就使用方式二
setenforce 0
mv c8750f0d.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/c8750f0d.0
setenforce 1
mount -o remount,ro /system

注意:如果运行 mount -o remount,rw /system
提示 没有分区,就需要采用下面的方式移动到系统分区

方式二:
1. 刷magisk教程, 需要root手机
2. 安装magisk的MagiskTrustUserCerts模块
有两个模块工具,推荐使用第二个:
a. movecert(作者使用第一个报错)
b. MagiskTrustUserCerts(推荐使用)
点击下载链接进行下载MagiskTrustUserCerts:https://github.com/NVISOsecurity/MagiskTrustUserCerts/releases/download/v0.4.1/AlwaysTrustUserCerts.zip
3. 下载后传到手机
a.改成文件传输模式

b.打开我的电脑会显示手机文件夹,移动到手机路径中

4. magisk本地导入模块

5. 找到导入的movecert,导入后重启手机

导入后重启手机
导入后重启手机
导入后重启手机
6. 安装证书到用户路径

7. mitmproxy证书配置
mitmproxy和Charles软件一样,需要进行证书配置,为什么要进行证书配置?由于我们要抓取的大部分App页面都采用了HTTPS,也就是经过加密,若没有证书,就无法识别抓取的数据。另外,需要注意的是,mitmproxy与Charles软件一样需要在PC和手机端安装证书。
1、首先cmd运行一下以下命令,以便在windows系统中产生CA证书
mitmdump
2、接着在.mitmproxy目录找到CA证书,如下图所示

8. 将证书传到手机中

9. 手机设置中搜索凭据并点击

10. 点击从安装凭据

11. 找到导入的证书

12. 重启手机
13. 成功截图

注意: 期间重启过两次
网友评论