原理
安卓高版本(7.0)之后,app可以只信任指定证书和系统内置的证书,后续用户安装的证书是不生效的,只能想办法装到系统内部。
操作:
- 先配置代理环境,将代理换成物理机ip+burp端口
- 导出burp der证书,转换成pem格式,linux执行
# 转为pem格式
openssl x509 -inform DER -in cacert.der -out cacert.pem
# 重命名为<hash值>.0
mv cacert.pem `openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1`'.0'
- 将.0文件copy到当前目录,使用模拟器自带abd操作
adb root
adb remount
adb push 9a5ba575.0 /system/etc/security/cacerts
adb shell chmod 644 /system/etc/security/cacerts/9a5ba575.0