• Android7以上https抓包


    1. 问题描述

    1.1 运行环境

    1.2 问题描述

    • virtualXposed 不一定支持Android模拟器
    • 无法抓包 https 请求

    1.3 问题原因

    Android7 以后,系统分了系统证书和用户证书,用户安装的fiddler属于用户证书,抓https的请求需要系统证书才行

    1.4 抓包工具

    fiddler

    2. 解决步骤

    主要就是把 fiddler 从 用户证书 转到 系统证书

    2.1 解决需要的环境(自行下载、安装和配置)

    • cer/pem:抓包证书
    • adb:用来上传操作手机
    • openssl:用来编译证书

    2.2 首先计算 原证书的 hash值

    # .cer格式证书
    openssl x509 -inform DER -subject_hash_old -in <证书文件.cer>
    # .pem格式证书
    openssl x509 -inform PEM -subject_hash_old -in  <证书文件.pem>
    

    2.3 新建新证书文件,操作见 2.2 步骤截图

    2.4 重新编译原证书 成一个 新证书

    # cer格式
    openssl x509 -inform DER -text -in xxx.cer 269953fb.0
    # pem格式
    openssl x509 -inform PEM -text -in xxx.pem 269953fb.0
    

    2.5 上传 新证书,使新证书为 系统证书

    adb push ‪C:Users23983Desktop269953fb.0 /sdcard
    
    # /system 目录只读,我们需要赋予读写权限,然后重新挂载
    adb shell
    mount -o remount,rw /system
    
    # 把新证书放到 /system/etc/security/cacerts/ 目录下
    cp /sdcard/269953fb.0 /system/etc/securtiy/cacerts/
    
    # 给新证书 重新授权
    chmod 644 /system/etc/security/cacerts/269953fb.0
    
    # 重启
    reboot
    

    3. 之后其他的就是正常的抓包设置

    例如:设置抓包代理等等

  • 相关阅读:
    tp3.2小结
    tp3.2
    数据库基操
    js jq 简单做一个轮播图
    ajax加jq简单的制作一个省市编码的选择框
    hibernate的OpenSessionInViewFilter用于管理session
    EncodingServlet.java为每一个servlet设置编码方式
    mybatis的增删该查
    MyBatisUtil.java.工具类,连接数据库库
    mybatis基础知识
  • 原文地址:https://www.cnblogs.com/mua9102/p/15034164.html
Copyright © 2020-2023  润新知