Fiddler 插件开发:数据解密

学浪视频下载终极方案:Fiddler插件+Newtonsoft.Json+N_m3u8D全流程解析 本文详细解析了使用Fiddler插件、Newtonsoft.Json库和N_m3u8D工具下载学浪视频的全流程。通过捕获网络请求、解析JSON数据获取m3u8链接,并利用下载工具实现高效、稳定的视频本地化,为技术爱好者提供了一套可定制、自动化的进阶解决方案。 阅读详情

本文介绍了 Fiddler 插件开发的基础知识,并以一个数据解密插件开发的实例讲述了开发的过程。

Fiddler 插件基础知识

插件的形式是一个 dll 文件,插件开发就是要生成这个 dll 文件。将生成的 dll 文件放入 Fiddler 的相应目录下,重启 Fiddler 即可生效。

Fiddler 是 C# 编写的,所以插件也要用 C# 编写,一般使用 Visual Studio。

Fiddler 提供的接口(官网):

  • IFiddlerExtension,IAutoTamper,IAutoTamper2,IAutoTamper3
    • 面向全局
    • 出现的位置与 Inspectors、log 同级
    • dll 放在 Scripts 目录下
  • Inspector2,IRequestInspector2,IResponseInspector2
    • 面向单个链接
    • 出现在 Inspectors 的内部,与 Headers、TextView 同级
      • IRequestInspector2 出现在上半部分的 request 数据面板中
      • IResponseInspector2 出现在下半部分的 response 数据面板中
    • dll 放在 Inspectors 目录下
  • ISessionExporter,ISessionImporter
    • 批量对请求进行导入导出操作
    • 出现在右键菜单 Save-Selected Session 中和顶部菜单栏的 File-ImportSession 弹出的菜单中
    • dll 放在 ImportExport 中
  • IHandleExecAction
    • 可以接收 QuickExec 命令行中的命令
    • dll 放在 Scripts 目录下

开发环境

安装 Visual Studio

安装的时候会让选择下载 .net framework,选一个较高的版本下载即可。

开启 fiddler debug 功能

在命令行工具中依次输入:

prefs set fiddler.debug.extensions.showerrors True
prefs set fiddler.debug.extensions.verbose True

来显示错误和log消息。log 信息在 Fiddler 右侧的 log tab 处查看。

开发者可以在代码中使用 FiddlerApplication.Log.LogString() 来打印 log。

数据解密插件开发

需求

能够实时对请求体和返回数据进行解密,并以 JSON 的格式展示出来。

这和 Fiddler 自带的 Inspectors-TextView/JSON 差不多,所以我们希望插件出现在与 TextView/JSON 相同的层级。按照上面的基础知识,我们需要实现 Inspector2,IRequestInspector2,IResponseInspector2 这几个接口。

新建 C# 类库

在这里插入图片描述

添加 Fiddler 的引用

在解决方案上右键添加:
在这里插入图片描述
搜索到 Fiddler.exe 和 Standard.dll 并添加。

Fiddler.exe 提供了我们需要的 Inspectors2、IRequestInspector2,IResponseInspector2 等接口,Standard.dll 提供了 Fiddler 标准的 JSONRequestViewer、JSONResponseViewer 等 UI 组件。
在这里插入图片描述

添加 Fiddler 版本信息

在 Properties/AssemblyInfo.cs 中添加 Fiddler 的最低版本信息(必须添加,可按实际情况修改版本号):

[assembly: Fiddler.RequiredVersion("4.6.20171.9220")]

实现接口

以 ResponseDecryption 为例,这个类会显示解密后的返回数据,核心逻辑就是在 set 页面的 body 时,执行 DoDecryption 这个方法,返回解密后的数据。

namespace Response
{
    public sealed class ResponseDecryption : Inspector2, IResponseInspector2, IBaseInspector2
    {
        private bool mBDirty;
        private bool mBReadOnly;
        private byte[] mBody;
        private HTTPResponseHeaders mResponseHeaders;
        private ResponseTextViewer mResponseTextViewer;

        public ResponseDecryption()
        {
            mResponseTextViewer = new ResponseTextViewer();
        }

        public bool bDirty
        {
            get
            {
                return mBDirty;
            }
        }

        public byte[] body
        {
            get
            {
                return mBody;
            }

            set
            {
                mBody = value;
                byte[] decodedBody = DoDecryption();
                if (decodedBody != null)
                {
                    mResponseTextViewer.body = decodedBody;
                }
                else
                {
                    mResponseTextViewer.body = value;
                }
            }
        }

        public byte[] DoDecryption()
        {
            // 将 byte[] 转成字符串
            String rawBody = System.Text.Encoding.Default.GetString(mBody);
            String showBody = rawBody;
            if (!rawBody.Contains("{"))
            {
                // 需要解密
                FiddlerApplication.Log.LogString("rawBody: " + rawBody);
                showBody = DecryptionUtil.DecryptSDKBody(rawBody);
            }
            if (showBody != null)
            {
                byte[] decodeBody = System.Text.Encoding.UTF8.GetBytes(showBody);
                return decodeBody;
            }
            else
            {
                Clear();
                return null;
            }
        }

        public bool bReadOnly
        {
            get
            {
                return mBReadOnly;
            }

            set
            {
                mBReadOnly = value;
            }
        }

        HTTPResponseHeaders IResponseInspector2.headers
        {
            get
            {
                FiddlerApplication.Log.LogString("headers get function.");
                return mResponseHeaders;
            }
            set
            {
                FiddlerApplication.Log.LogString("headers set function.");
                mResponseHeaders = value;
            }
        }

        public override void AddToTab(TabPage o)
        {
            mResponseTextViewer.AddToTab(o);
            o.Text = "Decryption";
        }

        public void Clear()
        {
            mBody = null;
            mResponseTextViewer.Clear();
        }

        // 在 Tab 上的摆放位置
        public override int GetOrder() => 100;
    }
}

运行

在顶部菜单栏点击 生成-生成解决方案,就会在当前工程的 bin/Debug 目录下生成 dll 文件,将其复制到 Fiddler 安装目录下的 Inspectors 目录,重启 Fiddler 即可运行。

为了避免每次生成 dll 都手动复制,可以在 VS 中配置 build 之后的执行动作,自动复制 dll 到指定目录。在解决方案上 右键-属性-生成事件-生成后事件命令行 中填写(具体路径需自己修改,即 Fiddler 的安装目录):

copy "$(TargetPath)" "XXX\fiddler\Inspectors\$(TargetFilename)"

在这里插入图片描述

调试

启动 Fiddler 后,可在 Visual Studio 顶部菜单栏点击调试-附加到进程,选择 Fiddler.exe 进行调试。
在这里插入图片描述

效果

选择一个返回加密数据的接口,点击 Inspectors-DecryptionJSON,可以看到已经解密过的 JSON 数据。
在这里插入图片描述

代码

完整代码在这里:Gdeer 的 GitHub

代码内容:

  • DecryptionUtil.cs:解密方法
  • RequestDecryption.cs:请求数据的解密插件
  • RequestDecryptionFormat.cs:请求数据的解密&格式化插件
  • ResponseDecryption.cs:返回数据的解密插件
  • ResponseDecryptionFormat.cs:返回数据的解密&格式化插件

在这里插入图片描述

如需应用到自己的项目,修改 DecryptionUtil 中的解密算法即可。

C# 调用FiddlerCore实现http/https抓包 是 Telerik 的跨平台 .NET 库,它允许捕获和修改 HTTP/HTTPS 流量。使用 FiddlerCore 的一些最流行的应用程序是。(基于 .NET Core 并在 Windows、Mac 和 Linux 上运行)。关键信息:FiddlerCore跨平台.net库,可以捕获http/https。(基于 .NET Framework 并在 Windows 上运行)和。... 阅读详情

相关推荐

Fiddler抓包自动解密aes

修改该文件,找到 OnBeforeResponse 方法并修改。

fangdong88的博客 2113

Fiddler下载视频号中的视频最简教程

使用Fiddler下载视频号中的视频 1、安装Fiddler 2、Tools ->Options..->HTTPS->(这步很重要) 3、ctrl+x 清除左侧所有捕捉的,不清除也无所谓 4、F12 左下角出现,如果没有再按一下F12 5、打开转发到微信中的视频号,等待播放结束 6、查找Content-Type 类型为vido/mp4的行 左侧图标为,单击选中,ctrl+U 复制地址 即可下载 Fiddler 下载地址:链接:https://pan.baidu.

chinagaobo的专栏 9800

【Windows高效软件】使用抓包工具Fiddler下载视频(有限制下载权限视频也可以下载)

准备工具 1.一台电脑 2.抓包工具——Fiddler 3.视频下载工具——VLC 第一步 安装Fiddler并设置好HTTPS解密 1.Tools –> Fiddler Options –> HTTPS 2.打开options-https后,如图: 选好后,一直选择是即可完成解密设置 第二步 获取mu38链接 首先打开目标视频,等到播放开始后立刻暂停或关闭 查看抓包记录,发现会有一个标蓝的HTTPS响文,内容如下图 在第一个响应报文里可以看到mu38链接 可以使用在线播mu38放器查看链接是

邑轻辰的学习笔记 1万+

Burp Suite、Wireshark与Fiddler:三款网络工具深度解析与比较

同时,Fiddler还支持HTTPS请求的解密,使得用户能够查看和分析加密的HTTP流量。其直观易用的用户界面和强大的功能使得它成为Web开发和测试人员的必备工具。它提供了丰富的数据包分析功能,包括过滤、统计、协议解析等,使得用户能够深入了解网络流量的细节。是一款集成化的Web应用程序测试平台,它提供了多种工具模块,用于对Web应用程序进行全面的安全测试和分析。总之,Burp Suite、Wireshark和Fiddler都是非常实用的网络工具,它们各自具有独特的功能和优势。四、三款工具的比较与选择。

深耕大数据、BI 二次开发、Python与AI全栈工程;记录技术实战,也探索投资、创业、出海与技术人的第二曲线 3513

使用Fiddler抓包分析游戏存档:以《西游大战僵尸2》为例的实战教程

网络协议分析是理解客户端与服务器数据交互的基础技术,其核心原理在于拦截和解析HTTP/HTTPS请求与响应数据包。这项技术在软件调试、API测试和安全评估领域具有重要价值,尤其适用于分析应用的数据传输逻辑。在游戏场景中,通过抓包工具对通信过程进行解码,可以深入理解存档等用户数据的加密、传输与处理机制。本教程以热门游戏《西游大战僵尸2》为具体案例,详细演示如何利用Fiddler这一经典抓包工具,完成从捕获存档传输请求、分析常见Base64编码与简单加密数据,到安全修改关键参数并重新注入的完整工程实践流程,为学

weixin_34377919的博客 278

恶意软件加密通信逆向分析:Fiddler与IDA实战破解

协议逆向工程是网络安全与软件分析领域的核心技术,旨在解析未知或私有通信协议的数据结构与交互逻辑。其原理是通过静态与动态分析,结合网络流量捕获与二进制代码剖析,还原协议的封装格式、加密算法及状态机。这项技术的核心价值在于应对日益普遍的数据加密与混淆,为安全研究、漏洞挖掘和恶意软件分析提供关键洞察。在应用场景上,它广泛用于解密恶意软件C2通信、分析物联网设备协议、审计私有API安全性等。本文聚焦于恶意软件分析场景,详细阐述如何利用Fiddler捕获加密流量,并通过IDA Pro逆向定位加密函数、提取密钥,最终实

anwenzhao0749的博客 456

fiddler工作原理以及https解密方法

fiddler是一个抓包工具,是一个官方免费的一般用5.0 fiddler的下载地址https://pan.baidu.com/share/init?surl=cAscwQ密码时lwaa fiddler是一款互联网代理调试工具,是一款国外软件,有汉化版,不仅能抓取电脑和手机与互联网http通讯,同时还能查看他们进行分析,在必要的时候可以修改某些通讯实现前后端开发者调试的作用。 支持所有的浏览器...

perfect88888的博客 7864

JS混淆数据解密实战:逆向分析与Python模拟完整指南

在Web开发与数据采集领域,JavaScript混淆与加密是常见的数据保护技术。其核心原理是通过代码变形、字符串编码和加密算法,将关键逻辑隐藏,以对抗自动化工具的直接解析。这项技术的价值在于保护了前后端分离架构中异步接口的数据安全,防止数据被轻易抓取和滥用。典型的应用场景包括电商网站的商品列表加载、内容平台的动态信息获取等,这些场景下数据通常通过AJAX请求返回,并由前端JS动态渲染。本文聚焦于JS混淆数据解密,通过实战案例,详细拆解了如何定位关键网络请求、分析混淆代码、还原加密算法,并最终使用Python

weixin_34341229的博客 509

Fiddler抓包实战:破解APP数据加密全流程

最近在研究移动APP的数据交互,发现很多应用都采用了复杂的加密手段来保护数据传输安全。今天就来分享一下我使用Fiddler进行APP抓包分析的全过程,特别是针对HTTPS解密和参数逆向的实战经验。首先需要在电脑上安装Fiddler,这是最常用的抓包工具之一。- 在手机WiFi设置中配置手动代理,输入电脑IP和Fiddler默认端口8888。配置完成后,手机上的所有网络请求都会显示在Fiddler中。- 安装Fiddler的根证书到移动设备,否则无法解密HTTPS流量。常见的加密方式包括AES、RSA等。

GoldEagle19的博客 648

逆向工程实战:解密与修改Flash游戏存档的完整技术指南

在软件逆向工程与游戏数据安全领域,理解客户端数据存储与加密机制是核心基础。其原理在于分析应用程序如何对本地或网络传输的敏感信息(如用户进度、资源数据)进行编码、加密及完整性校验,以保护数据不被轻易篡改。这项技术的价值在于,它不仅是安全研究的重要组成部分,也为游戏模组开发、数据恢复和遗留系统维护提供了关键技术手段。典型的应用场景包括单机游戏存档修改、分析弱联网应用的数据协议,以及研究已停服软件的本地化方案。本文将以经典Flash游戏《西游大战僵尸2》为例,聚焦于**存档解密**与**Fiddler代理**两项

weixin_33785108的博客 345

【转载】fiddler插件开发step by step 1

在路上,一直在路上,on the way …… 本文是转载来的,感谢原作者 Fiddler 是优秀的抓包工具,有着众多的优秀插件。Fiddler 软件是由C#语言开发的,运行在.net Framework 框架之上,所以我们也可以使用vs来开发自己的Fiddler插件,下面就介绍fiddler插件开发基本步骤。 1.打开visual studio 创建一个Visual...

雨水的早晨的博客 2632

Fiddler classic v5.0.20253.3311经典版网页抓包软件

PC 网页、手机网页通用抓包工具,功能强大的 Web 调试工具、HTTP 协议抓包调试工具。它能够捕获浏览器和程序的所有 http/https 通信连接,可以针对访问请求,分析请求数据报文、设置断点、调试 web 程序、解密和美化 JS 脚本、修改请求数据,修改服务器返回的数据等,堪称 web 调试利器。

恶猫的日记 519

J-Flash手动添加华大HC32F460型号全攻略

在嵌入式开发中,Flash编程算法是连接调试工具与微控制器的重要桥梁,它定义了芯片存储器的擦除、编程和校验等底层操作规范。其原理是通过调试接口将算法代码加载到目标芯片的RAM中执行,从而实现对Flash存储器的访问与控制。这项技术的核心价值在于打破了工具链对芯片型号的固有支持限制,使得开发者能够灵活适配各种新兴或定制化的微控制器。在工程实践中,当面对J-Link等主流调试器官方支持包更新滞后时,手动添加芯片型号成为保障开发效率的关键技能。本文以华大半导体的HC32F460系列MCU为例,详细解析了如何通过配

weixin_29192365的博客 350

Python爬虫实战:逆向解析AES加密接口与数据解密全流程

在Web数据采集领域,接口加密是常见的反爬虫技术手段,其核心目的是保护数据传输安全。AES(高级加密标准)作为一种对称加密算法,因其高效性和安全性被广泛应用于前端参数与响应数据的加密。理解AES的工作原理,特别是CBC模式与PKCS7填充机制,是逆向工程的基础。掌握加密解密流程的技术价值在于,能够突破数据获取的技术壁垒,实现自动化数据采集。这在市场数据分析、竞品监控、学术研究等应用场景中至关重要。本文以某教育平台为例,详细拆解了其全链路加密逻辑,包括使用Python的`pycryptodome`库复现AES

weixin_30883311的博客 383

Jlink除了调试还能干啥?用JFlash SPI给W25Q64烧录固件的5个实用技巧

本文深入探讨了Jlink的隐藏功能,特别是通过JFlash SPI高效烧录W25Q64的5个进阶技巧。从硬件连接优化到批量处理脚本,再到数据安全验证,这些技巧能显著提升烧录速度和稳定性,适用于量产环境。文章还提供了详细的参数配置和脚本示例,帮助工程师充分发挥Jlink的潜力。

weixin_29164843的博客 410

AHB总线协议

1. 简介         AHB总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高时钟频率的系统结构,典型的应用如ARM核与系统内

ivy_reny的专栏 8万+

从注册表到网络包:全面拆解Office插件VIP验证的四种绕过思路

本文深入剖析了商业Office插件的多层验证机制,包括本地算法验证、注册表存储和网络通信验证。通过四种绕过技术方案(内存Patch、算法逆向、注册表篡改和网络通信劫持),展示了如何突破VIP验证体系。文章还提供了防御对策,帮助开发者增强插件安全性。

weixin_42524171的博客 191

【隐私计算】从本地加法到在线乘法:Beaver Triple如何重塑算术秘密分享的运算效率

本文深入探讨了Beaver Triple在算术秘密分享中的关键作用,显著提升了隐私计算中的乘法运算效率。通过对比加法与乘法的实现差异,详细解析了Beaver Triple的预处理机制和在线计算优化,展示了其在减少通信量和计算时间方面的革命性突破。

weixin_29227585的博客 436

c#爬取Silverlight网页 2

此前的一篇文章:C#爬取Silverlight网页,描述了如何爬取加密的Silverlight网页,并以北京空气质量官网的破解进行了说明。 按此办法,我想继续破解由中山大学先进技术研究院开发的一系列的Silverlight网站,譬如福建省空气质量实时发布系统,却一无所获。关键在于找到密钥和盐值非常难。有时候reflector并不能工作。 其实我犯了一个错误,被此前的破解思路给羁绊了。下

李瑞远-时空数据 3866

IST——In-System-Test

安全性是自动驾驶平台的关键特性之一,而这些架构中使用的半导体芯片必须保证ISO 26262标准所要求的功能安全方面。为了监控由于现场缺陷导致的故障,在启动和/或关闭期间会自动运行系统内结构测试。当系统内测试(IST,In-System-Test)架构检测到任何永久性缺陷时,驾驶平台会做出响应,以实现系统的故障安全状态。汽车IC采用高质量测试方法进行筛选,以实现接近零的DPPM(每百万缺陷部件)。即使在这样的高测试标准下,由于环境或操作条件的影响,在系统现场运行过程中仍可能出现可靠性缺陷。

weixin_50518899的博客 3207

基于Pixhawk与OpenMV的无人机视觉引导精准降落系统设计与实现

本文详细介绍了基于Pixhawk飞控与OpenMV视觉模块的无人机精准降落系统设计与实现。系统通过OpenMV识别Apriltag标签,结合MAVLink通信将视觉数据发送给Pixhawk,实现厘米级精准降落。文章涵盖硬件连接、软件配置、核心代码逻辑解析及实战调试技巧,为无人机自动充电、物流配送等场景提供可靠解决方案。

weixin_29189377的博客 320

爬虫爬数据时,post数据乱码解决办法

最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密。用谷歌自带的抓包工具也不能捕获到数据。于是下了Fiddler。     Fiddler的爬取结果如下:     可见,除了头信息之外,下面的数据信息显示成了乱码。这样就不能用程序模拟浏览器发送数据了。     解决办法之一就是获取此字符串的十六进制编码。将Fi

u012774187的专栏 2096

Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第二&第三部分

二、使用 MODE 的参数提取和蒙特卡罗 三、最终参数提取

weixin_45719141的博客 1万+

c#爬取Silverlight网页

c#爬取Silverlight网页 2

记事本 2206

黑猫带你学Nand第8篇:NandFlash的供电情况详解

是指在任何工作条件下,设备允许的最大电压、电流、功率以及温度等参数的界限值。

黑猫奥利奥的博客 1150

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

国密HTTPS抓包解密实战:从双证书握手到明文还原

在HTTPS通信中,TLS握手协议负责协商加密套件、交换密钥并建立安全会话,而抓包分析则是排查握手异常与验证加密链路的关键手段。对于采用国密算法的HTTPS场景,SM2/SM3/SM4构成的算法栈使得通用Wireshark解析器难以识别密码套件,导致抓包后只能看到密文。理解双证书机制下的签名证书与加密证书分工,以及预主密钥的SM2加密传输过程,是解密国密流量的前提。借助SSLKEYLOGFILE导出会话密钥,并让Wireshark按国密派生逻辑重放密钥,即可将SM4加密的应用数据还原为明文。该方法适用于政务

weixin_33910759的博客 380

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: Kotlin 基础:泛型
下一篇: 将自己的库发布到 JitPack
Gdeer
博客等级 码龄12年 21粉丝 161原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值