• 安卓手机添加系统证书方法(HTTPS抓包)


    安卓7.0以后,安卓不信任用户安装的证书,所以抓https时无法解码请求,对于第三方应用,需要将证书添加为系统证书,网上解决方法较多,比如使用安卓模拟器(兼容性差,很多应用闪退),使用xposed框架等,这里使用安卓手机添加证书。

    注:需要手机有root权限,以下操作以小米9 SE为准,其他品牌手机操作可能有差别。

    1. 导出证书(以Charles为例)

    help --> SSL Proxying --> Save Charles Root Certificate...

    2. 安卓证书储存格式

    image-20210412150201316

    证书路径:
    /system/etc/security/cacerts
    文件命名格式(如果计算出来的hash值已经存在则编号依次+1):
    <证书Hash值>.编号
    

    3. 将导出的证书计算hash值

    需要安装openssl: win10下安装

    //以下根据导出的证书格式2选1
    //.cer格式证书
    openssl x509 -inform DER -subject_hash_old -in 证书文件.cer
    //.pem格式证书
    openssl x509 -inform PEM -subject_hash_old -in  证书文件.pem
    

    计算结果:

    image-20210412150738095

    4. 生成系统系统预设格式证书文件

    //cer格式
    openssl x509 -inform DER -text -in xxx.cer > 0dd2455e.0
    //pem格式
    openssl x509 -inform PEM -text -in xxx.pem > 0dd2455e.0
    

    最后编辑一下输出的文件,把 -----BEGIN CERTIFICATE----- 到最后的这部分移动到开头。结果如下

    image-20210412151041173

    5. 上传证书

    上传证书文件0dd2455e.0到手机/system/etc/security/cacerts路径下。

    方法1: 使用adb连接

    执行:
    1. adb push 0dd2455e.0 /sdcard
    2. adb shell
    3. su
    4. mount -o remount,rw /system
    #mount -o rw,remount /system
    5. cp /sdcard/0dd2455e.0 /system/etc/security/cacerts/
    6. chmod 644 /system/etc/security/cacerts/0dd2455e.0
    

    方法2: 使用第三方文件管理器(推荐)

    • 下载酷安市场app --> 分别搜索 SyslockRE管理器 并下载安装(其他应用市场下载也可以)
    • SyslockRE管理器 root权限(以小米为例:安全中心-->应用管理-->权限-->ROOT权限管理-->找到应用并开启)
    • 打开Syslock并解锁 /system (每次重启后都得开启一次)
    • 将文件拷贝至手机中
    • 使用RE管理器将文件拷贝到 /system/etc/security/cacerts 下
    • 修改文件权限

    到此然后重启手机。就可以正常抓https数据包了。
    也可以到手机 设置->安全->信任凭据-->系统 查看。

  • 相关阅读:
    s 中日期 转换成时间戳 例如2013-08-30 转换为时间戳
    php解析html类库simple_html_dom
    c++关于字符串的读入和截取
    八皇后问题
    激活函数matlab代码
    转:ubuntu添加用户adduser,并给予sudo权限
    shell遍历多个文件夹并进行批量修改文件名
    【转】用win7(64位)远程桌面连接linux(Ubuntu14.04)详细教程
    机器学习-线性回归
    编译gpu集群版caffe
  • 原文地址:https://www.cnblogs.com/zj420255586/p/14652194.html
Copyright © 2020-2023  润新知