1、把代理证书放到系统证书根目录下
安卓7.0以后,安卓不信任用户安装的证书,所以抓https时无法解码请求,对于第三方应用,需要将证书添加为系统证书,使用安卓手机添加证书。
需如下:
- root手机
- 安装openssl
1、burp到导出证书
2、计算导出证书的hash值
openssl x509 -inform DER -subject_hash_old -in C:\Users\s\Desktop\burp.cer
3、生成系统预设格式证书文件
openssl x509 -inform DER -text -in C:\Users\s\Desktop\burp.cer > 9a5ba575.0
4、上传证书
adb push C:\Users\s\Desktop\0dd2455e.0 /sdcard
adb shell
su
mv /sdcard/9a5ba575.0 /system/etc/security/cacerts
chmod 644 9a5ba575.0
重启手机完成
注意:以上操作仅针对安卓10以下版本。
先将证书安装到用户证书
由于安卓10采用了某些安全策略,将系统分区/system挂载为只读,就算你root了也没用,无法写入系统分区也就无法导入系统证书,在使用http-canary这样的软件抓包分析的时候,很多app只认系统证书,不认用户证书。唯一的方法是魔改安卓10的rom,或者使用magisk的一些模块,这里介绍的模块是Magisk的Move Certificates模块。
Magisk中搜索Move Certificates模块进行安装(需要FQ才能下载)
安装完证书之后,重启就可自动拷贝用户证书到system目录下,实现用户证书抓包
参考:
https://blog.youkuaiyun.com/weixin_31702225/article/details/117694829