亲测红米 redmi k30有效
7.0以上的手机不能愉快的抓https包了,极大的阻碍了移动互联网技术的发展(白嫖),网上的很多教程要么是抄袭泛滥没有验证,要么是太old,不能用。笔者这里记录一次成功的红米k30 root + 刷证书的过程。
一、root
1. 官方下载root工具,官方只有window版本的工具,笔者这里找到了个可用的非官方Mac版本
下载地址:https://xiaomitool.com/V2/#download
打开界面如下:
这个工具干的事理论上也不复杂,需要输入你的Miui账号密码,通过该工具向小米官网申请root权限,申请完,需要过一周才能走剩下的流程,非官方版本参考原逻辑实现了一遍。(猜测,可能是怕手机丢失被root,留一周的时间给机主找手机??)
....
过一周再来
2. 数据线连上手机选择root
接下来按照提示一步步操作,后面有个选项,安装MgiskManager,搞过root的同学能理解是干嘛的。如果只是root,也可以安装别的权限管理工具。这里建议安装MgiskManager,该工具集成了很多其他工具模块的下载,比较方便。
---跟着流程走完,重启手机后查看权限,已经是解锁了,万里长征第一步。 通过adb shell 或者 IDE工具,可以查看手机system 等任何数据了,可以方便的调试,可以down下app的数据库等各种操作,久违的酸爽!。二、刷charles证书到系统证书目录下,一劳永逸
1. 证书获取
可以手机浏览器下载,也可以通过charles 导出来导出来文件名为:charles-ssl-proxying-certificate.pem
参考系统目录证书命名方式:需要计算hash值
openssl x509 -subject_hash_old -in <Certificate_File>
原证书命名:charles-ssl-proxying-certificate.pem
===>
修改后命名:778e01ee.0
系统默认安装的证书命名格式:注意,要去掉文件的后缀.pem,mac机可以通过简介来改
2. 将证书推送到系统证书目录
system目录只有读权限,不能写入文件,正常思路需要重新挂载成rw权限模式,如下命令:
注意:Android8.0之后system分区跟ramdisk分区打包在一起,所以/proc/mounts文件中没有包含/system的权限信息
mount -o rw,remount /system
会报错误:
mount: '/system' not in /proc/mounts
or
mount -o remount -o rw /
报错:read-only
网上有帖子介绍通过 adb root 方式,解除校验,再重新挂载
笔者发现非develop模式下,adb root 会报错,拿不到权限
此路不通!!无意中发现MgiskManager 的模块列表中有很多可以下载安装的工具,其中有Move Certificates。直觉告诉笔者这个可能有用。点开看介绍:
按上面介绍,需要把自己的证书放到 /data/misc/user/0/cacerts-added/,该工具会帮你move到系统证书目录。重启手机后,发现证书已经完美的copy到系统证书目录下。
连上charles,已经可以像以前那样happy的抓包了
网友评论