高手进阶——FileMon使用实例之一 文:Koya / KunStudio.com ----刊登于2001年第9期《电脑应用文萃(电脑界光盘)》 RegMon<的大名想必对大多数玩家们来说是如雷贯耳,随便打开一台老鸟们的电脑,发现就像发现酷爱运动的人随身带一把瑞士军刀一样简单。用RegMon 可以监视各种程序对注册表的种种操作,所以喜欢修改注册表的各位老鸟们,自然是随身得带上这样一把“瑞士军刀”的了。 不过,今天的主角不是RegMon,而是RegMon的同门兄弟FileMon。不知在RegMon使用多了以后,会不会有一种感觉,确切地一点儿说是有些遗憾,那就是RegMon只能对注册表的各种操作进行监视,而实际上我们有时还要求对文件的监视操作。在这种需求下,Sysinternals公司(RegMon的娘家)又为大家推出了FileMon(图一)。 FileMon的最新版本是V4.32,大小只有77K,可谓是小巧玲珑。您可以他的娘家http://www.Sysinternals.com 或是国内的Kun Studio http://www.kunstudio.com 去下载一个,一二分钟搞定。 打开FileMon,惊奇地发现FileMon的界面与RegMon的界面是那么的十分类似,不愧是同门兄弟,完全是一对双胞胎!!!所以用惯了RegMon后再用FileMon,不用再学习也不用别人指导,三分钟之内您就可以完全上手。标准的Windows应用程序界面,从上到下依次是标题栏、菜单、工具栏、主窗口和状态栏。而且最常用的功能也都放在了工具栏上了(图二)。保存、捕捉事件、滚动、清屏、时钟,过滤、历史深度,查找和资源管理器。 下面就简要地介绍工具栏上的这些按钮的功能:
大致了解了以上功能之后,我们再以一个实例操作来具体掌握FileMon的妙用。
当然,想从257个文件和9 个目录共68M的庞然大物中提取我们要想的NDD却是一件不容易的事。不借助什么工具,你没法判断NDD需要哪些文件的支持和调用。Windows的天下,大部分应用程序都不是仅仅一个EXE文件可以搞定,动不动就要调用什么DLL和VXD<的文件。所以在这里我们就需要借助于FileMon来确定NDD所需哪些文件。 <
然后在新建一目录Norton Disk Doctor,将NU<安装文件中的Ndd32.exe文件复制到Norton Disk Doctor目录中。为了排除其它因素的干扰,请在打开FileMon之前将关闭其它多余的应用程序。“喂!说你了!快把Winamp关了,想一边干活一边听歌?你还是省省吧。”准备好这些,那可以开工了! < 赶紧按下“捕捉事件”按钮,出现一红X,暂停对以后事件的监视,这样我们就可以安心地对刚才所发生的事件仔细分析一下了。在主窗口中共有216条件,关键的是哪些了?“#”表示记录号,“Time”是时间,“Process”表示进程,“Request”是操作请求,“Path”是路径,“Result”结果和“Other”结果。了解各栏的含义后才可能真正地懂得如何操作。 这儿再插一句,在一个应用程序启动时,往往还需要调用其它一些文件,而在调用时找不到所需文件时便会出错。所以刚才仅有一个Ndd32.exe可执行文件NDD是无法执行下去的,找不到调用的文件那肯定是要出错的。所以借用FileMon就是为了找出在Ndd32.exe双击之后还需要调用哪些文件。 所以在仔细观察了216条记录之后,你会发现前面188个请求的结果都是“Success”,而在第189个请求时,进程“???”试图在当前目录Norton Disk Doctor寻找一个名为S32krnll.dll的文件,结果却是“NotFound”,接着又试图在C:\Windows\System 、C:\windows\和C:\Windows\Commmand目录下寻找这个文件,结果还是找不到。这时,第194个请求发出了一个“Close”的请求,对此Ndd32.exe给出了一个“Success”的结果,“Other”中也注明了“Close_Final”。由此可得,Ndd32.exe的启动过程到194结束,然后出现了这个出错窗口(图六,见上)。 确定之后,从NU安装目录中找到了这个S32krnll.dll文件,复制到Norton Disk Doctor目录下。为了验证一下以上判断是否正确,我们再试一次。将FileMon主窗口内容清空,按下“捕捉事件”按钮,回到监视状态。再双击Ndd32.exe,结果还是出错。 不要恢心,看看FileMon为我们又监视到了什么(图八)。 这一次,“???”进程对S32krnll.dll文件发出的“Seek”和“Read”请求都得到“Success”的结果,而NDD启动卡壳是在寻找一个名为s32stat.dll的文件找不到的情况下才发出了“Close”的请求。所以,我们还缺个s32stat.dll文件。 同样的办法,在多次反复地尝试之下,我们终于找齐了NDD启动时所需的全部文件(图九)。以下便是这些文件的列表:
测试完毕之后,我们就可以将这些23个文件打包了,采用RAR格式压缩后只有1.3M,而用另类的Imp格式压缩仅有1.2M,一张软盘就完全可以搞定了(图十)。做好之后放在网上,便可以向大家宣布这是由“XXX工作室”制作的Norton Disk Doctor 精简版,欢迎大家前来下载。看着不断跳动的下载数字,你是不是有了一种小有成就的感觉呢? 怎么样?通过这个实例,想必您对FileMon的使用会有了一定的了解了吧。其实,只要你肯去动脑筋,你会发现FileMon还有许多更绝的功能,怎样使用就看你自己想做什么了! 在FileMon的使用过程中,如果您有什么好的心得的话,欢迎您来信告诉我,我的地址是http://www.kunstudio.com , koya@kunstudio.com 。 |
|