使用charles嗅探https请求,你的API并不安全
安卓 root 手机
1、准备 root 过的 android 手机,关于自己手机root方法,自行查找解决。
adb root
adb disable-verity
2、并重新挂载分区,使系统根目录可写入
adb shell "mount -o rw,remount /system"
制作并上传证书
根据图示菜单选择 “Save Charles Root Certificate”,导出证书的后缀为 .pem
2、查看证书的 hash 值
$ openssl x509 -inform PEM -subject_hash_old -in ~/Downloads/charles-proxy-ssl-proxying-certificate.pem |head -1
26f93358
3、证书重命名为 {hash}.0
mv ~/Downloads/charles-proxy-ssl-proxying-certificate.pem 26f93358.0
4、上传证书到手机里的 /system/etc/security/cacerts 目录下
adb push 26f93358.0 /system/etc/security/cacerts
adb shell "chmod 664 /system/etc/security/cacerts/26f93358.0"
5、重启手机
charles 左侧选中域名,开启 SSL代理(Enable SSL Proxying)
最后说明
iOS 只需要手动安装证书,并授权即可,比 Android 要简单。
从 android 10 开始,针对 /system 分区多了一层保护,不能直接写入,暂时还没有找到解决方案,如果有知情的大牛欢迎给出解决方案。
更新 android 10 以后破解 /system 防护的方法
下载 Magisk App:
magiskmanager.com/downloading-magi...
点击 Install 会重新刷 bootloader(注意自担风险哦,手机变砖或丢失数据,自行承担)。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: