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

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

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

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

2. 安卓证书储存格式

证书路径:
/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

计算结果:

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----- 到最后的这部分移动到开头。结果如下

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数据包了。

也可以到手机 设置->安全->信任凭据-->系统 查看。

最新文章

  1. POI操作Excel
  2. Web.xml中设置Servlet和Filter时的url-pattern匹配规则
  3. Strong name signature not valid for this assembly Microsoft.mshtml.dll
  4. 【BZOJ2223/3524】[Coci 2009]PATULJCI
  5. 使用WinINet和WinHTTP实现Http访问
  6. js判断用户的浏览器设备是移动端还是pc端
  7. 国内公共DNS
  8. 【SpringMVC】SpringMVC系列7之POJO 对象绑定请求参数值
  9. Java Annotations: Explored &amp; Explained--转载
  10. 定步长的龙格库塔7(8)阶C++程序(RKF78)
  11. 转: 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
  12. SQL explain详细结果
  13. 大话RabbitMQ 基础入门
  14. 【Git】Git使用记录: 基于git ignore文件将remote上的文件untrack
  15. 测试python最大递归层次
  16. 在input中输入需要的数据,使用qrcode,点击生成二维码
  17. OpenResty安装使用教程(CentOS 6)
  18. fastDFS教程Ⅱ-文件服务器迁移
  19. thinkphp实现采集功能的三种方法!
  20. DotNetty学习笔记

热门文章

  1. Beta阶段第七次会议
  2. spring social理解
  3. [CSP-S2021] 回文
  4. hdu 1028 Ignatius and the Princess III(母函数)
  5. Centos 8 阿里yum源配置
  6. Ubuntu 安装 mysql 报错 "update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在"
  7. Linux&C———进程间通信
  8. 初试Docker-打包构建镜像
  9. 【JAVA】编程(3)---王狗蛋先生去取钱,发现余额不足 !?!?
  10. Python 深拷贝和浅拷贝的区别