Android 7.0及以后版本系统将不再信任用户的证书,而现在大多模拟器早就是7版本以上的安卓系统,所以在此以逍遥模拟器9为例, 给大家介绍以下如何给安卓高版本进行Burp抓包。诸多可能踩坑的点,笔者已经指出。
首先官网下载逍遥模拟器。下载地址:https://www.xyaz.cn/
先开启独立系统盘这个功能,这样才可以写入,不然就只有读权限
逍遥模拟器MEmu路径下自带adb调试,雷电模拟器在LDPLayer9文件夹下
下载地址:https://slproweb.com/products/Win32OpenSSL.html
在cacert.der的路径下打开cmd,使用openssl工具将der格式的证书文件 (cacert.der) 转换为pem格式的证书文件 (cacert.pem)。
openssl x509 -inform DER -in cacert.der -out cacert.pem
Openssl 计算值:Android 依赖旧版 OpenSSL(低于 1.0.2 版本)计算的 subject_hash_old 值用来查找加载系统证书。这个值是证书主题名称的 hash,用于唯一标识一个 CA 证书。
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
重命名cacert.pem为9a5ba575.0,这里要加上.0,不然安卓无法识别证书
这里保持模拟器打开,然后把刚才生成的9a5ba575.0文件放入到adb.exe的路径下,然后打开cmd,执行以下命令
adb rootadb remount adb push 9a5ba575.0 /sdcardadb shell
这里一定要输入 adb remount 这条命令,不然可能无法写入,如果 adb remount 这条命令失败,看看是否开启了独立系统盘。
进入shell后,进入到sdcard目录下,查看是否导入成功
然后把证书移动到系统证书根目录下, 进入到根目录检查是否存在文件
mv /sdcard/9a5ba575.0 /system/etc/security/cacertsls | find9a5*
已经成功导入进去,下一步修改权限,给文件读写权限,
chmod 644 /system/etc/security/cacerts/9a5ba575.0
重新打开模拟器,进入设置-安全性和位置信息-加密与凭据-信任的凭据
这里代理设置为自己的ip地址,不要设置成127.0.0.1,不然模拟器流量不从这个端口走
代理设置为手动,这里要和主机电脑ip抓包软件设置的端口对应上
原文始发于微信公众号(起凡安全):安卓模拟器系统安卓高版本配置Burp抓包教程,全网最详细!
评论