首先,如果大家没有看过第一篇,可以先看看第一篇,了解Fiddler script的脚本哦。
传送门:https://www.52pojie.cn/thread-854434-1-1.html

导语:
其实Fiddler隐藏的功能太多太多,其调试功能也是异常强大,可以说是抓包界的“OllyDbg”并不为过。接下来,教大家如何使用Fiddler进行调试、解析,甚至封包“逆向”!

一、像OD一样定制菜单

1.1定制rule菜单的子菜单

// 定义名为52pj的子菜单
    RulesString("&52pj", true);
    // 生成52pj子菜单的radio选项
    RulesStringValue(0,"安卓8.0", "52pj&狂暴补师亚丝娜&k=52pj")
    RulesStringValue(1,"安卓9.0", "52pj&610100&k=52pj")
    RulesStringValue(2,"安卓10.0", "52pj&didi科学家&k=52pj")
    RulesStringValue(3,"安卓11.0", "52pj&CrazyNut&k=52pj")
    RulesStringValue(4,"&Custom...", "%CUSTOM%")
    public static var s52pj: String = null;

}

还需要在OnBeforeRequest函数中加入:

if (null != s52pj) {
     oSession.oRequest["52pj"] = s52pj;

<ignore_js_op>

效果图:
<ignore_js_op>

1.2定制tool菜单的子菜单

public static ToolsAction("我是子菜单")
function DoManualYules(){

//子菜单的功能
     FiddlerObject.alert("我是子菜单"); // 根据需要定制
}

<ignore_js_op> 
1.3定制右键菜单

public static ContextAction("我是右键菜单")
function DoOpenInIE(oSessions: Fiddler.Session[]){
     FiddlerObject.alert("我是右键菜单"); // 根据需要定制
}

右键菜单不好截图,就不截图啦~~~~
子菜单和右键菜单自己新建一个类就OK了。

二、限速
fiddler提供了一个功能,让我们模拟低速网路环境。启用方法如下:Rules → Performances → Simulate Modem Speeds。勾选之后,你会发现你的网路瞬间慢下来了很多。至于慢下来后网络速度是多少,则由CustomRules.js 中如下程序控制的:

var m_SimulateModem: boolean = true;
...
if (m_SimulateModem) {
    // 500毫秒/KB(上传)
     oSession["request-trickle-delay"] = "500"; 
// 150毫秒/KB(下载)
     oSession["response-trickle-delay"] = "150"; 
}

三、AutoResponder (自动替换功能)
方法是点下Fiddler 右上的AutoResponder ,勾选Enable automatic responses 和Unmatched requests passthrough ,按下右边的Add ;再将下方的Rule Editor 第一行修改为线上档案位址(线上档案位址也可以使用Regular Expression ,开头加上regex: 即可。)
按下Rule Editor 第二行右边的箭头,选择Find a file ... ;选择要替换成的本机端档案,按下右边的SAVE ,大功告成!

将线上档案替换成另一个线上档案,步骤几乎一模一样,差别仅在Rule Editor 第二行填入的是另一线上档案位址:

更多AutoResponder的说明请参考Fiddler官方文件- AutoResponder Reference 。
(PS:AutoResponder 这个网上有比较多的教程,我直接复制的了。)

四:命令调试(和OD的命令调试操作基本相同)
4.1替换 Request Host。
关键函数:urlreplace
比如:urlreplace www.baidu.com www.360.com
按下Enter ,所有原先发到百度的HTTP Request 就转发到360 了。
<ignore_js_op> 
要清除转发,请在同一位置输入:urlreplace

另外script也可以做到:

if ( oSession . HostnameIs ( 'www.baidu.com' ) )
   oSession . hostname = 'www.360.com' ;

4.2 下断点(和OD、VS调试一样的哦)

命令介绍:
bpu在请求开始时中断,
bpafter在响应到达时中断,
bps在特定http状态码时中断,
bpv/bpm在特定请求method时中断。

如:
bpu www.baidu.com/52pj/狂暴补师亚丝娜 
这样既可在访问这个网址的时候自动下断点哦。

4.3Fiddler其他内置命令(4.3为转载)

  • secret

选择所有相应类型(指content-type)为指定类型的HTTP请求,如选择图片,使用命令select image.而select css则可以选择所有相应类型为css的请求,select html则选择所有响应为HTML的请求(怎么样,是不是跟SQL语句很像?)。

  • allbut

allbut命令用于选择所有响应类型不是给定类型的HTTP请求。如allbut image用于选择所有相应类型不是图片的session(HTTP请求),该命令还有一个别名keeponly.需要注意的是,keeponly和allbut命令是将不是该类型的session删除,留下的都是该类型的响应。因此,如果你执行allbut xxxx(不存在的类型),实际上类似与执行cls命令(删除所有的session, ctrl+x快捷键也是这个作用)

  • ?text

选择所有 URL 匹配问号后的字符的全部 session

  • >size 和 <size命令

选择响应大小大于某个大小(单位是b)或者小于某个大小的所有HTTP请求

  • =status命令

选择响应状态等于给定状态的所有HTTP请求。

例如,选择所有状态为200的HTTP请求:=200

  • @host命令

选择包含指定 HOST 的全部 HTTP请求。例如:@csdn.net

五、“逆向”
这里只能简单提及一下,当你发现下断点的网址过后,可以使用ctrl+F的方式,就行搜索该网址,既可看是什么接口返回的该地址,也就是简单的逆向!

最后:
熟练掌握Fiddler,能够破解爱奇艺、优酷等永久不失效的接口,也可薅羊毛(饿了么等),具体就要看大家的掌握程度了!破解游戏啥的就不说了。
请记住:
抱歉,Fiddler玩得好,真的可以为所欲为!

[转载] Fiddler为所欲为第二篇 像OD一样调试 [二]的更多相关文章

  1. [转载] Fiddler为所欲为第三篇 封包逆向必备知识[三]

    导语: 小A同学:会抓包有什么好学习的,不就用一个工具设置个wifi代{过}{滤}理就OK了嘛,还不是很多做不了.不如学习安卓逆向.didi科学家:不好意思,抓包可以为所欲为. 其实学习抓包,完完全全 ...

  2. [转载]Fiddler为所欲为第四篇 直播源抓取与接口分析 [四]

    今天的教程,主要是教大家如何进行“封包逆向”,关键词跳转,接口分析.(怎么样,是不是感觉和OD很像~~~)今天的教程我们以[麻花影视]为例,当然,其他APP的逻辑也是一样,通用的哦~ 首先需要做好准备 ...

  3. WebApi学习总结系列第二篇(webapi的调试)

    目前使用webapi的调试主要有 1.用接口宿主调试.(宿主形式多样:web.winform.还有就是直接用app进行接口调试) 2.用Fiddler抓Http信息,进行调试. 1.用接口宿主调试. ...

  4. 第二篇 javascript一维数组和二维数组及方法

    一.数组 什么是数组 程序=数据+算法 数组就是一种很常见的保存批量数据的数据结构 一.定义数组 var arr1=[]; //定义了一个不包含元素的数组 ,,]; //定义了一个包含三个元素的数组 ...

  5. android调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so (转载)

    转自:http://blog.csdn.net/jiuyueguang/article/details/9449737 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言 1:本文主要作为 ...

  6. 【转载】Android Metro风格的Launcher开发系列第二篇

    前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客Android Metro风格的Launcher开发系列第一篇写了如 ...

  7. IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)

    IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...

  8. (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...

  9. JDFS:一款分布式文件管理实用程序第二篇(更新升级、解决一些bug)

    一 前言 本文是<JDFS:一款分布式文件管理实用程序>系列博客的第二篇,在上一篇博客中,笔者向读者展示了JDFS的核心功能部分,包括:服务端与客户端部分的上传.下载功能的实现,epoll ...

随机推荐

  1. hbase之认识

    进入HBase客户端命令操作界面    $ bin/hbase shell 查看帮助命令        hbase(main):001:0> help 查看当前数据库中有哪些表        h ...

  2. channels 2.x的使用

    转载:https://www.vimiix.com/post/2018/07/26/channels2-tutorial/ 认识 Channels 之前,需要先了解一下 asgi ,全名:Asynch ...

  3. prometheus监控示例

    prometheus架构图 prometheus 各组件介绍 Prometheus Server: 使用pull方式采集监控数据,在该组件上配置监控数据的采集和告警规则. Client Library ...

  4. Dynamic CRM工作流流程实战

    前言在研究了MSCRM中插件的使用之后,不可避免需要研究工作流,工作流在各种营销系统中都举足轻重. 关于工作流功能:使用工作流可在后台实现业务流程自动化.类别:分为后台工作流(异步)和实时工作流(同步 ...

  5. 拷贝的表的SQL语句 SELECT INTO 和 INSERT INTO SELECT的用法与区别

    一.select   into  from 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Tabl ...

  6. <转载> UE4的Actor类C++简单尝试

    原文链接:   简书小小酥XX https://www.jianshu.com/p/2bcc80f0e789 一开始我用了一段时间UE4,发现如果用蓝图系统真的不太适合我的风格.因为之前一直都是用Un ...

  7. git push后出错

    参考链接: 1,https://blog.csdn.net/shiren1118/article/details/7761203 2,http://www.cnblogs.com/xwdreamer/ ...

  8. python之路-数据运算

    位运算: 运算符 描述                                                                   实例 +  加-两个对象相加         ...

  9. OSI,TCP/IP,五层协议的体系结构,以及各层协议

    OSI分层 (7层):物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP分层(4层):网络接口层. 网际层.运输层. 应用层. 五层协议 (5层):物理层.数据链路层.网络层. ...

  10. python入门(五)

    一.函数返回值 1.函数如果返回多个值,他会把这几个值放到一个元组里面 2.也可以用多个变量来接收 返回多个值放到元组里面 def say(): num1=1 num2=2 num3=3 return ...