新手区 Android7.0 及以上,抓取 https

申隆辉 · 2020年05月03日 · 最后由 活着丶 回复于 2020年05月05日 · 1603 次阅读

重点 必须具备两个条件 Linux 系统 , 一部获得 root 权限的手机,本教程以 Ubuntu18.04 示例 ,推荐小米手机 , 开发板 miui 自带 root 。

1 、执行下方命令

charles 和 mitmproxy 的证书使用下方这个命令
openssl x509 -subject_hash_old -in  证书的名字(需要带上格式)
fiddler 使用下方这个命令
openssl x509 -infrom DER -subject_hash_old in 证书的名字( 同上 )

执行完毕是下面图片展示的样子 , 注意红色圈中的字符。
JzGjKI.jpg

2 、 修改证书的名字和后缀

将证书的名字修改为上图红色圈中的字符 , 后缀改为 .0

例如下图红圈所示 , 不可改成其他名字和后缀,其他名字或后缀无效
JzJ2o8.jpg

3 、 导入证书到手机

将修改好名字的文件导入到 Android 手机 , 这一步必须获取手机的 root 权限 。

adb root & adb remount & adb push  证书路径  /system/etc/security/cacerts/ 

如果导入失败 ,执行下面的两条 adb 命令。

adb disable-verity
adb reboot

具体原理

将抓包工具的证书修改为系统证书的格式,并导入系统证书的目录,

警告

需要删除证书的时候,务必检查一下删除的证书是否正确,误删除其他证书可能会导致手机无法上网,
误删除证书解决办法,只有刷机一条路可走(应该)。

共收到 1 条回复 时间 点赞

openssl 这个需要自己百度安装包安装 + 配置环境

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册