From:https://testerhome.com/topics/21956

OpenSSL :https://slproweb.com/products/Win32OpenSSL.html

谷歌在安卓7.0修改了安全策略,安卓系统 大于 7.0 时, 应用不在信任用户安装的证书文件。用户添加的 CA 证书不能再用于安全连接,对于 https 传输的数据就抓取不到了,会显示<unknown>。

解决方法

  • 降级 APP
  • 降级 系统版本
  • 将用户证书偷渡成系统证书,需要有 root 权限。将 charles 的 CA 证书安装进系统信任的证书目录下,这样在开启 charles 代理的时候,系统就会认为CA证书安全,从而可以获取 https 数据。

Fiddler 证书安装到安卓根目录

一台已 root 过的手机,开启开发者选项,然后连接电脑。

安卓系统证书跟 Fiddler 证书的格式不一样,需要转换。

1、安装 OPENSSL【https://slproweb.com/products/Win32OpenSSL.html】。linux 好像默认安装的有,如果使用 linux 系统,可以忽略这一步。

2、下载 fiddler 证书到电脑上

3、打开命令窗口,执行以下命令,查看证书哈希信息:

openssl x509 -inform DER -subject_hash_old -in FiddlerRoot.cer

安卓系统的安全证书在   /system/etc/security/cacerts/目录下,进入adb shell,打开目录就能看到这些证书文件。

文件名是 Hash值 加 数字后缀。后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1

4、转换证书

openssl x509 -inform DER -in FiddlerRoot.cer -text > [哈希].0

5、用记事本编辑证书

-----BEGIN CERTIFICATE----------END CERTIFICATE----- 的部分放到文件最前面

6、将证书放到手机的 /system/etc/security/cacerts/ 

执行 adb 命令连接手机,获取权限,把文件夹挂载为读写模式,把文件复制到证书根目录

adb root
adb remount
adb shell mount -o rw,remount /system
adb push e5742ab9.0 /system/etc/security/cacerts

重启手机,可以看到 Fiddler 的证书已经变成系统证书了,接下来就可以愉快的抓包了

Charles 证书安装到安卓根目录

一台已 root 过的手机,开启开发者选项,然后连接电脑。

下载证书到电脑上

  • 电脑端浏览器输入 chls.pro/ssl 即可下载,
  • 如果未下载也可以在 charles >> help >> SSL Proxying >>Save Charles Root Certificate 保存证书到本地文件夹

打开命令窗口执行以下命令,查看证书信息:openssl x509 -subject_hash_old -in charles-ssl-proxying-certificate.pem

重命名证书:mv charles-ssl-proxying-certificate.pem e5742ab9.0

执行 adb 命令连接手机,获取权限,把文件夹挂载为读写模式,把文件复制到证书根目录

adb root
adb remount
adb shell mount -o rw,remount /system
adb push e5742ab9.0 /system/etc/security/cacerts

以上就 OK 了。如果不放心可以 cd 到对应目录,检查文件是否存在,文件权限是否与其他证书一致。证书安装 OK,其他代理选项正常配置即可

如果出现 <hash>.0:Read-only file system 这个警告,这是因为 system 文件为只读,需要将其挂载为可读写。一般的解决方法是:mount -o rw,remount /system 修改system读写权限,然后再进行复制操作。如果修改了之后还是提示Read-only file system,还有方法

adb root
adb disable-verity
adb reboot #手机会重启,不用关闭cmd窗口,手机可能需要拔掉数据写重新连接
adb root
adb shell
mount -o rw,remount /system    #再次进行修改

然后就可以进行复制操作了。复制完之后输入reboot 重启

重启之后,打开设置 ---> 更多设置 ---> 系统安全 ---> 信任的凭据中可以看到安装的证书

然后通过设置 charles 代理就可以查看到 https 的数据了。

把 charles,Fiddler 证书安装到安卓根目录,解决安卓微信 7.0 版本以后安装证书也无法抓包问题,需要 root相关推荐

  1. 仿站小工具8.0_安卓微信8.0版本可以升级了!新增4个实用功能,内附更新方式...

    昨天凌晨微信8.0版本率先在苹果端上线,预示着微信7.0的时代已经过去了. 这次微信8.0的更新,一共更新了4个功能,因为实用.有趣,引发了众多安卓用户的羡慕之情.不要着急,更新方式在这里. 1. 更 ...

  2. android版本的微信更新,安卓微信8.0版本在哪里更新?安卓微信8.0下载更新教程...

    安卓微信8.0版本在哪里更新?微信的最新版已经上线,但是安卓用户却没有找到更新的地方,所以想要了解安卓微信8.0版本更新的方法,那么下面就让小编带着大家一起来了解一下微信8.0版本安卓更新的具体详情. ...

  3. 安卓背景音乐开关_微信7.0.4内测版怎么申请?微信7.0.4安卓内测版下载安装教程...

    近日,微信针对安卓设备用户推出了最新的微信7.0.4内测版,带来了界面调整和功能更新,受到不少小伙伴们的关注.那么,微信7.0.4内测版怎么申请?下面"电脑百事网"小编为大家详细介 ...

  4. Eclipse 安装Spring tool suite 解决官网下载jar文件无法安装/安装过程出错,及如何下载对应版本zip文件等问题,避坑

      最近想学一下spring框架,所以要先安装spring tool suite,网上查了查安装教程,发现大部分都是讲的spring tool suite 3 的,但是官网更新后上边只有 spring ...

  5. 计算机无法安装MUMU模拟器,如何解决重装MuMu模拟器时无法更换安装目录

    MuMu模拟器是由网易开发的一款安卓模拟器,这款模拟器基于windows系统运行,通过电脑运行这款模拟器之后,用户就可以像在电脑上使用手机一样,用模拟器就能打开需要在手机上启动的apk文件.重装MuM ...

  6. 【以太坊】web3.js的1.0版本和0.2.0版本的安装及区别

    一.前言 博主在安装web3.js的时候,偶然间安装了不同版本的web3.js,API操作也不相同,虽然都能达到目标,但是到底区别在哪呢?网上查找半天并没有人专门总结一下这块,所以今天斗胆总结一下,也 ...

  7. MySQL8.0 版本的安装

    MySQL下载完成后,找到下载文件,双击进行安装,具体操作步骤如下. 步骤1:双击下载的mysql-installer-community-8.0.26.0.msi文件,打开安装向导. 步骤2:打开& ...

  8. Linux安装MySQL的完整步骤并有关MySQL8.0版本的问题方法

    目录 QUESTION:Linux安装MySQL的完整步骤? ANSWER: 一:使用wget 直接下载 二:安转软件源,将platform-and-version-specific-package- ...

  9. 腾讯云安装mysql_详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题

    背景: 今天才申请了腾讯云+校园计划的1元服务器,安装了Centos7.0,在安装MySQL的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下: [ro ...

最新文章

  1. java 唯一值_java – 在列表中查找唯一值的快速方法
  2. ORB SLAM学习--跑自己数据集图片序列或摄像头或视频(转)
  3. java中日期与字符串之间的转换
  4. axure 倒计时_AxureRP教程—模拟倒计时
  5. oneproxy检测主从复制同步延迟
  6. sqlserver数据库中char、varchar、text与nchar、nvarchar、ntext数据类型使用详解
  7. Linux守护进程编程编写,linux守护进程编程实例
  8. Mybaits之Mapper动态代理开发
  9. PubLayNet:36万文档图像版面分析数据集
  10. 为什么说ES6的class是语法糖?
  11. php判断手机是安卓系统还是ios系统
  12. 阿里巴巴中台技术架构实践与思考
  13. 计算机网络中的A类、B类、C类地址的划分
  14. vim 格式化 json 命令
  15. 对计算机硬性环境,温度、湿度、灰尘环境对电脑的影响
  16. 架构设计(8)—高可用架构设计
  17. poi根据模板导出word
  18. mysql 1032错误_修复mysql slave复制1032错误
  19. 【二次开发教程】Ai-WB2系列的eclipes搭建环境教程
  20. 嵌入式linux 竖屏,嵌入式Linux下竖屏显示配置

热门文章

  1. Facebook、阿里等大佬现身说法,NLP是否被高估了?
  2. All in Linux:一个算法工程师的IDE断奶之路
  3. 文本相似度-相似度度量
  4. Android官方开发文档Training系列课程中文版:管理音频播放之音频输出硬件的处理
  5. XGB的python实现
  6. 笔记:seafile 7.x 安装和部署摘要
  7. 【LeetCode】3月24日打卡-Day9
  8. 深度学习准备「爆破」著名的欧拉方程
  9. 2019.3.23 捕获异常
  10. logging模块(* * * * *)