项目介绍
目前fiddler官方是由一个可以提供二次开发调用的框架,也就是fiddlerCoreAPI,但是由于帮助文档比较复杂,并且只支持C#调用,VC++虽然可以支持托管调用,但部署较为麻烦,为此我专门进行了VC版的二次封装,项目完全开源,地址:vcfiddler仓库
开发准备
该vcfiddler已经提供了大量的功能函数,满足了大部分情况下的使用条件,且目前至今仍在更新中,所以我们就可以直接下载git仓库提供的DEMO进行使用。
函数使用
以上图是将DLL的函数命令全部导出定义了,这里是给出的一个易语言版调用DEMO的例子,当然了其它语言也是可以直接调用的,子程序内几乎全是单纯的调用DLL函数命令,移植非常方便。
开始监听
上图我们看到,DEMO给出了一个简单的修改发送的数据以及返回的数据例子,可以看到,通过以下代码进行了证书的安装,以及SSL数据包的抓取,最后在开启代理
EFD_INIT ()
.如果真 (EFD_RootCertIsTrusted () = 假)
EFD_CreateRootCert ()
EFD_InstCert ()
.如果真结束
EFD_StartSSL (真) ' 开启抓取SSL
EFD_AutoStartFiddlerProxy (真) ' 注册系统代理(自动开启网页代理)
EFD_START (8888, &recvCallBack, &sendCallBack)
最后一行的EFD_START就是最终启动代理,并且把返回和发送的数据回调到对应的2个子程序函数中。
修改数据
我们可以看到,在recvCallBack子程序函数中,有一行EFD_RecvReplaceBody函数的执行,该函数意思就是当拦截到返回的网页数据后,把包含123的数据替换成666.
其它更多的功能都可以在导出的DLL函数看到,都有非常详细的注释。