Android 7 及以上夜神模拟器,Fiddler 抓 https 包
文章目录
- 问题描述
- 解决方案
- 环境准备
- 操作步骤
- 1、导出 Fiddler 证书并修改成 .pem 和 .0 文件
- 2、修改夜神模拟器配置
- 3、打开夜神模拟器设备的 `USB 调试选项`
- 4、将`0725b47c.0`证书放入夜神模拟器系统证书目录
- 5、夜神模拟器 cmd 环境配置
- 6、给 0725b47c.0 证书赋予权限
- 7、打开 fiddler everywhere 进行抓包
问题描述
Android 从 7.0 开始系统不在信任用户 CA 证书(应用 targetSdkVersion >= 24 是生效,若是 targetSdkVersion < 24 即使系统是7.0+ 依然会信任)也就是说即使安装了用户 CA 证书,在 Android 7.0+ 的机器上,targetSdkVersion >=24 的应用 HTTPS 包就抓不到了。
解决方案
亲测有效!!!!!!
使用 OpenSSL 对 FiddlerRoot.cer 证书进行转换,然后放入手机系统证书目录内(/system/etc/security/cacerts------系统证书具体目录),并对其附加读写权限,以下为详细步骤。
环境准备
1、 下载抓包工具 Fiddler 或 Fiddler everywhere 版
- 可直接从官网链接下载
- Fiddler 免费版不能抓 HTTP/2 的包, Fiddler everywhere 版可以,绿色永久版可查看 fiddler everywhere 绿色永久版
2、 下载夜神模拟器
- 夜神模拟器官网下载链接
- 夜神模拟器帮助手册
- 温馨提示:如果你用的是真机那么必须要过root
3、 OpenSSL 安装
- 参考文章:保姆级OpenSSL下载及安装教程
4、 AndroidSDK 安装
- AndroidSDK 官方下载链接
- 下载完成后,环境配置和下面
操作步骤中5.3 夜神模拟器 cmd 环境配置一样
操作步骤
1、导出 Fiddler 证书并修改成 .pem 和 .0 文件
- 1.1 按下图步骤导出 Fiddler_Root_Certificate_Authority.crt 证书

- 1.2 cmd 命令切换到证书的导出路径(默认导出桌面)
例如:cd C:\Users\17710\Desktop,每个人桌面路径不一定相同,将证书文件拖拽到 cmd 窗口,即可找到文件夹路径

- 1.3 使用 OpenSSL 将 FiddlerRoot 证书的 crt 格式转换成 pem 格式
openssl x509 -inform DER -in Fiddler_Root_Certificate_Authority.cer -out cacert.pem - 1.4 计算 pem 证书 hash 值-截取下图中箭头指向的
0725b47c即可
openssl x509 -inform PEM -subject_hash_old -in cacert.pem

- 1.5 将桌面上的 cacaert.pem 证书 修改为
0725b47c.0,名称为上一步操作的 hash 值,后缀为 0

2、修改夜神模拟器配置
- 2.1 启动一个Android 7 以上的模拟器,按照下图指示
- 点击右上角设置,开启网络连接和网络桥接模式
- 设置静态 IP,一般只需要修改
IP 地址和网关这两项即可,IP 地址可以自己设置,比如我的电脑 IP 是 192.168.1.3,可修改成下图的 IP

- 2.2 确保模拟器已开启 Root

- 2.3 修改完成后重启模拟器,以保证生效
- 2.4 修改模拟器 WiFi 代理为手动,这里和真机的操作一样

3、打开夜神模拟器设备的 USB 调试选项
-
3.1 连续点击下图所指的版本号五次,即可进入开发者模式

-
3.2 搜索
USB 调试并打开

-
3.3 开启
USB 调试选项

4、将0725b47c.0证书放入夜神模拟器系统证书目录
- 4.1 直接拖拽
0725b47c.0文件到夜神模拟器,会自动打开下图的文件夹,并复制成功

- 4.2 复制上图中的
0725b47c.0文件,然后打开下图指示的根目录文件夹,点击右上角的粘贴按钮,即可将0725b47c.0证书放入系统证书目录

5、夜神模拟器 cmd 环境配置
-
5.1 找到
夜神模拟器快捷方式,右键点击打开文件所在位置

-
5.2 这个文件夹内可以看到有个
nox_adb应用程序

-
5.3 打开
查看高级系统设置,进入下图页面,按照顺序进行配置环境变量地址即可

6、给 0725b47c.0 证书赋予权限
- 6.1 使用
nox_adb devices命令查看设备连接状态

若出现下面版本号不一致的错误,可参考 adb devices 发现连不上模拟器

- 6.2 使用
nox_adb conncet 127.0.0.1:62025命令建立adb连接
!注:夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,以此类推)

- 6.3 使用
nox_adb -s 127.0.0.1:62025 shell命令进入模拟器 shell 命令行

- 6.4 使用
mount -o remount -rw /system命令给外层根目录中的 system 赋予权限 - 6.5 使用
cd system/etc/security/cacerts命令到系统证书目录 - 6.6 使用
chmod 644 0725b47c.0命令给证书赋予权限 - 6.6 修改完成后,使用
ls -l命令查看权限是否启用,如下图所示:

- 6.7 最后需要在把最外层system的权限改回去
cd ../../../..
mount -o remount -ro system
7、打开 fiddler everywhere 进行抓包
效果图如下:

参考文章:Android7及以上,抓https包-Fiddler篇
相关文章:
Android 7 及以上夜神模拟器,Fiddler 抓 https 包
文章目录 问题描述解决方案环境准备操作步骤1、导出 Fiddler 证书并修改成 .pem 和 .0 文件2、修改夜神模拟器配置3、打开夜神模拟器设备的 USB 调试选项4、将0725b47c.0证书放入夜神模拟器系统证书目录5、夜神模拟器 cmd 环境配置6、给 0725b47c.0 证书赋予权限7、打开 fiddle…...
全国医院数据可视化分析系统
【大数据】全国医院数据可视化分析系统 (完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 🏥 项目名:医疗导航神器!——《基于大数据的微医挂号网医院数据可视…...
音视频入门基础:RTCP专题(1)——RTCP官方文档下载
一、引言 实时传输控制协议(Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP)是实时传输协议(RTP)的一个姐妹协议。RTCP由《RFC 3550》定义(取代废弃的《RFC 1889》)。RTP使用一个…...
蓝桥杯专项复习——结构体、输入输出
目录 结构体:排序 输入输出 结构体:排序 [NOIP2007]奖学金 #include<iostream> #include<cstring> #include<algorithm>using namespace std;const int N310; int n;struct Student {int chinese,math,eng,sum;int idx; }Stu[N];//定…...
工作记录 2017-01-06
工作记录 2017-01-06 序号 工作 相关人员 1 协助BPO进行Billing的工作。 修改CSV、EDI837的导入。 修改邮件上的问题。 更新RD服务器。 郝 修改的问题: 1、 In “Full Job Summary” (patient info.), sometime, the Visit->Facility is missed, then …...
探索 Rust 高效 Web 开发:Hyperlane 框架深度解析
探索 Rust 高效 Web 开发:Hyperlane 框架深度解析 在当今的 Web 开发领域,追求高性能、轻量级的框架一直是开发者们的不懈追求。对于 Rust 语言开发者而言,Hyperlane 框架正以其独特的魅力崭露头角,为构建现代 Web 服务提供了一种…...
LLM(2):准备构建 LLM
在了解大语言模型一文中,对 LLM 做了初步介绍,本文接续前一篇文章的内容,简要介绍 LLM 的应用和构建过程。 1.2 LLM 的应用 由于大型语言模型(LLMs)在解析和理解非结构化文本数据方面具备先进能力,它们在…...
pytest+allure+jenkins
本地运行参考:pytestallure 入门-CSDN博客 jenkins运行如下: 安装插件:allure 配置allure安装目录 配置pytest、allure 环境变量 配置流水线 进行build,结果如下 ,点击allure report 查看结果...
[蓝桥杯]花束搭配【算法赛】
题目链接 题意 n朵花 每朵花有两个属性a,b 如果两朵花满足 a i a j > b i b j a_ia_j>b_ib_j aiaj>bibj 就称为完美方案 求一共有多少种完美方案 ( i , j ) 与 ( j , i ) (i,j)与(j,i) (i,j)与(j,i)视为不同组合 思路 数据范围 1 ≤ n ≤ 2 1 0 5 1\…...
大模型架构全景解析:从Transformer到未来计算范式
1. Transformer 架构 核心模型 GPT-4、BERT、T5、LLaMA、通义千问、文心ERNIE 关键技术 多头注意力:GPT-4 使用 96 头注意力位置编码创新:LLaMA 采用 RoPE(旋转位置编码),Claude 3 引入 ALiBi归一化优化࿱…...
【linux篇】--linux常见指令
文章目录 一、Linux基本概念 二、Linux入门 1.目录结构 2.Linux命令 *Linux基础命令 ls命令的选项: 3.目录切换相关命令(cd & pwd) 4.相对&绝对路径和特殊路径符 4.1相对路径 4.2绝对路径 4.3 你特殊路径符 5.创建目录命令(mkdir) 6.…...
Kubernetes的组成和架构
Kubernetes(K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它由多个组件组成,这些组件可以分为两类:控制平面(Control Plane)组件和节点(Node࿰…...
ElementUI 表格中插入图片缩略图,鼠标悬停显示大图
如何在 ElementUI 的表格组件 Table 中插入图片缩略图,通过鼠标悬停显示大图?介绍以下2种方式: 方法1:直接在模板元素中插入 <template><el-table :data"tableData"><el-table-column label"图片…...
【实战ES】实战 Elasticsearch:快速上手与深度实践-附录-1-常用命令速查表-集群健康检查、索引生命周期管理、故障诊断命令
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 附录-常用命令速查表 1-Elasticsearch 运维命令速查表(集群健康检查、ILM管理、故障诊断)一、集群健康检查与监控1.1 集群健康状态核心命令1.2 节点级健康诊断…...
PlainUSR|LIA: 追求更快的卷积网络实现高效的超分辨率重建
PlainUSR|LIA: 追求更快的卷积网络实现高效的超分辨率重建 引言 在深度学习领域,图像处理始终是一个热门话题。而超分辨率重建(Super-Resolution Reconstruction, SR)作为其中一个重要的研究方向,旨在通过算法将低分辨率图像恢复…...
Linux 命令学习记录
Linux 命令详解与进阶指南 Linux 是一种广泛使用的开源操作系统,掌握 Linux 命令是开发者和系统管理员的必备技能。本文将详细介绍 Linux 的常用命令,并涵盖一些高级进阶技巧,帮助你更高效地使用 Linux。 目录 基础命令 文件与目录操作文本…...
Android之RecyclerView列表拖动排序
文章目录 前言一、效果图二、实现步骤1.xml布局2.activity代码3.adapter 总结 前言 随着需求的变化,很多地方需要加拖动改变顺序的需求,用RecyclerView就可以实现列表拖动排序,列如像朋友圈图片拖动排序,或者音乐播放器列表拖动排…...
C# WPF 基础知识学习(一)
一、WPF 简介 Windows Presentation Foundation(WPF)是微软推出的一款用于构建用户界面的框架,它为开发 Windows 桌面应用程序提供了统一的编程模型、语言和框架。WPF 将用户界面的设计与业务逻辑分离开来,采用了 XAML࿰…...
MATLAB基于ResNet18的交通标志识别系统
1. 数据准备 数据集:该数据集包含了大量标注好的交通标志图片,每类标志都有不同的样本。数据预处理:图像需要进行一些基本的预处理,如调整大小、归一化等,以适应ResNet18的输入要求。 2. 网络设计 使用MATLAB自带的…...
CSS3-流星雨
1. 绘制标签 <div class"container"><span></span> </div>2. 设置div背景 在百度上搜索一幅星空的图片 <style>* {/* 初始化 */margin: 0;padding: 0;}body {/* 高度100% */height: 100vh;/* 溢出隐藏 */overflow: hidden;}.contai…...
数学建模 第一节
目录 前言 一 优化模型的类型 二 线性规划1 线性规划2 三 0-1规划 总结 前言 数学建模主要是将问题转化为模型,然后再以编程的形式输出出来 算法都知道,数学建模也需要用到算法,但是不是主要以编程形式展示,而是…...
平方矩阵问题
Ⅰ 回字形二维数组 #include <iostream> #include <iomanip> using namespace std; int main(){int n;while(cin>>n,n){for(int i0; i<n;i){for(int j0; j<n; j){int upi, downn-i1, leftj, rightn-j1;cout<<min(min(up,down),min(left,right)…...
自动化立体仓库堆垛机HMI屏幕程序施耐德HMIGXU系列 Vijeo Designer功能设计
堆垛机HMI屏幕功能概况 在自动化立体仓库堆垛机的HMI屏幕程序里,有着施耐德HMIGXU系列Vijeo Designer功能设计。此HMI程序运用标准的工程组织结构,凭借拖拽方式迅速构建人机交互界面。 其主要功能涵盖:设备参数、设备状态、手动/自动操作控制、报警显示、IO信息监控等模块…...
孤儿进程与僵尸进程:Linux进程管理中的“隐形杀手”与“无主孤儿”
在Linux系统中,进程的生命周期管理是系统稳定运行的关键。其中,孤儿进程和僵尸进程是两种特殊状态,它们看似相似却暗藏玄门。本文将从定义、区别到处理方法,揭开它们的神秘面纱。 一、孤儿进程:被“遗弃”的孩子&…...
信息系统运行管理员教程6--信息系统安全
信息系统运行管理员教程6–信息系统安全 第1节 信息系统安全概述 1.信息系统安全的概念 信息系统安全是指保障计算机及其相关设备、设施(含网络)的安全,运行环境的安全,信息的安全,实现信息系统的正常运行。信息系统…...
实验- 分片上传 VS 直接上传
分片上传和直接上传是两种常见的文件上传方式。分片上传将文件分成多个小块,每次上传一个小块,可以并行处理多个分片,适用于大文件上传,减少了单个请求的大小,能有效避免因网络波动或上传中断导致的失败,并…...
训练数据重复采样,让正负样本比例1:1
详细解释 resample 函数: resample 函数来自 sklearn.utils,用于从数据集中重新抽样。replaceTrue 表示允许重复抽样,即同一个样本可以被多次选中。n_samples 指定抽样的数量。 确保训练集数量相同: 通过 resample 函数ÿ…...
生活中的可靠性小案例12:类肤材质老化发粘问题
我一直觉得我买的某品牌车载吸尘器很好用,用了几年,目前性能也是杠杠的。然而它现在有个最大的问题,就是表面发粘了,用起来粘手,非常不舒服。 这一类问题在生活中不少见,尤其是一些用了类肤材质涂层的物件。…...
qt 自带虚拟键盘的编译使用记录
一、windows 下编译 使用vs 命令窗口,分别执行: qmake CONFIG"lang-en_GB lang-zh_CN" nmake nmake install 如果事先没有 指定需要使用的输入法语言就进行过编译,则需要先 执行 nmake distclean 清理后执行 qmake 才能生效。 …...
python中print函数的flush如何使用
在 Python 中,print 函数的 flush 参数是一个布尔值,默认值为 False。当设置为 True 时,它会强制将输出缓冲区的内容立即刷新到目标设备(通常是控制台),而不是等待缓冲区满或者程序结束时才输出。 要注意fl…...
