一、问题背景
对于fiddler抓包工具,我在网上下了一个汉化的5.0版本。
用了几天都是正常的,抓包都挺正常的;就是今天我打开自定义规则(Ctrl+R)时,就出现了下面的警报弹窗。
图1 第一种错误——系统找不到FSE文件
于是,我对照这篇文章(标题:fiddler 弱网测试, 使用fiddler script自定义代理规则,系统找不到相应的文件FSE2.exe文件),把我的FSE2.exe文件路径修改成正确的后。
再启动“自定义规则”。
又出现下面这个错误
图2 第二种错误——找不到CustomRules.js文件
然后,我又去百度谷歌折腾半天;在不经意的一次重启软件后,上面这个警告弹窗没了,但是又出来下面这个警告弹窗。
图3 第三种错误——虽然能打开规则代码,但是不能完全加载
我点击确定,终于顺利见到了自定义规则的代码窗口,但是我发现每次打开“自定义规则”还是会出现上图弹窗。
不忍心就此罢手!
二、重装软件大法
对于上面那个弹窗,我实在找不到资料;于是只好求救“重装大法”。
我执行软件文件夹内的卸载程序后,然后删除整个文件夹。
重新把原压缩包解压;再打开fiddler,出现了下面弹窗。
下图意思是说在Windows系统中存在一种技术可以让你在沉浸式应用程序内或者在Edge浏览器中抓取流量包,看你是否想要进一步了解怎么做;如果你点是,那么就会进入帮助页面,如果点否,那么下次启动应用又会弹出这个,如果点取消,那么这个窗口下次便不再弹出。
我毫不犹豫点了取消,因为我知道如果我想用到,后面百度谷歌就行了嘛!
接着又弹出下面这个,意思就是说你是否愿意在使用软件的过程中提供日志信息来帮助产品改进。
因为我电脑不好,所以能少挂一个后台就少挂,于是又点了否。
顺利进入软件主界面后,我直接按下快捷键Ctrl+R,然后立马弹出下面这个错误:
图4 第四种错误——未能加载程序或程序集
又是一个新错误,显然我的心态有点不正常了。
但是,我告诉自己我还能行!我还可以求助百度谷歌, 加油。
三、坚持就是胜利
在谷歌上搜索【未能加载程序或程序集 "fiddle" 或它的依赖项】,得到的答案无非几种:
1、64位的电脑,但是dll文件是32位。因此需要在IIS中打开允许32位程序启动的设置。
2、依赖项缺失,需要重新下载依赖项或者移动到正确的文件夹路径。
第一个答案,我试了之后没有解决。
第二个答案,我实在无从下手;因为这么多dll依赖项,我并不知道哪个缺失;于是只好再进一步用重装大法。
只不过,这次我在网上下载了另一个来源的fiddler汉化版,重装的程序有所区别。
四、换源重装大法
我接着又试了两个源,第一次是用果核剥壳的源,第二次用的是一个不知名网站的源。
对于后者,我试了后,还是出这个问题;对于前者,我在执行“关联脚本编辑器” 之前,也还是出现上面的第三个错误。
这个程序的内容如下:如果有一天我在本文中给的链接失效了,你们也可把下面的内容复制到txt文件然后改成dat的后缀即可。
@ECHO OFF&(PUSHD "%~DP0")
(REG QUERY "HKU\S-1-5-19">NUL 2>&1)||(reg add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /f /v "%~dp0010Fiddler.exe" /d "~ RUNASADMIN" >NUL 2>NUL)
(REG QUERY "HKU\S-1-5-19">NUL 2>&1)||(powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs" &&EXIT)reg add "HKCU\SOFTWARE\Microsoft\Fiddler2" /f /v "CheckForUpdates" /d "False" >NUL 2>NUL
reg add "HKCU\SOFTWARE\Microsoft\Fiddler2" /f /v "JSEditor" /d "%~dp0ScriptEditor\FSE2.exe" >NUL 2>NUL
reg add "HKCU\SOFTWARE\Microsoft\Fiddler2\InstallerSettings" /f /v "InstallPath" /d "%~dp0\" >NUL 2>NUL
IF EXIST "%WinDir%\System32\CHOICE.exe" (
ECHO.&ECHO 关联完成 &TIMEOUT /t 2 >NUL & CLS & GOTO MENU
) ELSE (
ECHO.&ECHO 关联完成,任意键返回 &PAUSE>NUL&CLS&GOTO MENU)
我无意间注意到这个bat程序后,执行;然后再打开fiddler,Ctrl+R——没有错误地成功启动了!!!!!
五、总结
对于我最原先下载的汉化版,里面有一个unist.exe文件;这个文件每次执行都会弹出一个是否保留配置的弹窗。
我先前都是点是。
在后面的测试过程中,我发现把这个卸载程序放入果核剥壳文件夹中,然后执行它。
在这个弹窗中点是,也就是移除配置信息。
那么就会导致我重启软件,在打开自定义规则的时候,又出现第三个错误。
直到我再次执行那个dat文件,关联成功再重启软件,才能顺利打开自定义规则代码。
因此,我怀疑就是这个卸载程序的此会话窗口的不保留配置信息,会导致注册表中的配置被彻底清除掉。这样下一次打开fiddler软件,打开自定义规则代码时就会出现我上面提到的第三个或第四个问题。
而搭配上述的dat文件,就可以实现配置信息的清除和重载。
于是我把在原始源的uninst.exe文件放入果核剥壳源中,这样就形成了一个完美能清除配置信息也能重载配置信息的源。