一般来说,病毒为了达到自己被执行的目的会不择手段,它会利用各种伎俩使自己在开机时就被运行,同时为了防止自己的进程被结束掉,它会希望自己在开机状态下的多种正常操作(比如你双击打开一个盘符)中被再次执行,这样它们就能让自己一直在内存中运行,以达到自己卑鄙的目的。
ok,秘密从此揭开(以下全以D盘为例):
当你双击你的D盘(光驱的盘符除外,原因后面会提到),发现除了鼠标有点变化(甚至连鼠标都没变化)外,根本没有和往常一样打开了这个盘,那么基本上就可以恭喜你了:你中毒了!为什么中毒?不为什么!你因为什么原因中的毒我不清楚,但结果是因为该死的病毒给你的D盘根目录下放了一个文件,因为这个文件的存在,你双击D盘的时候才没有反应,D盘才没有打开,或者是在反应了很长时间后才打开的。这都是不正常的信号。因为这个文件的存在,你D盘的右键菜单默认选项(黑色加粗的)由正常的“打开”被修改为“自动播放”,或者“Auto”,或者其他,当你双击的时候实际上是选了“自动播放”,也就是执行了一个程序——病毒。这时候你就需要用鼠标右键的帮助来打开D盘:用右键单击D盘,在弹出的菜单上选择“打开”。
图片附件: diffence.JPG (2007-1-13 23:38, 27.39 K)
好的,让我们来认识一下这个该死的文件,它的名字叫autorun.inf,你一定要记住!首先,我们要找到这个文件在什么地方。当你双击打不开D盘的时候,它就在D盘的根目录下(其他盘当然类似)。用上面提到的方法,利用鼠标右键打开D盘后看看,奇怪,并没有发现有autorun.inf这样的文件啊!没错,因为它是隐藏的(病毒就喜欢干这样的事情)!你需要设置自己的系统显示隐藏的系统文件,具体做法是依次打开工具——文件夹选项——查看,确保将“隐藏受保护的操作系统文件”前面那个勾去掉,然后将“显示所有文件和文件夹”选上,然后确定!这样你就会看见autorun.inf了,当然还可能会有更多的隐藏文件,都会被你看见。
如果你发现这个地方不能修改,那一定是病毒修改了你的注册表,我们可以通过手工恢复的方式来处理。打开注册表到HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL,删除右边窗口原来的CheckedValue键,新建一个类型为Dword的CheckedValue键,将其值取为1即可。这样就可以按照上面的办法来修改了。
然后我们要做的,就是直接双击打开autorun.inf看里面的内容。一般情况下,你会看到类似这样的代码:
[Copy to clipboard]
CODE:
[AutoRun]
OPEN=3c.exe
shellexecute=3c.exe
shell\Auto\command=3c.exe
如果你有兴趣对autorun.inf了解更多,可以去搜索引擎查autorun.inf的语法,否则你只需要看清楚OPEN后面写的文件是什么,这个文件就是病毒文件。由于autorun.inf的特殊性,当你双击D盘时,系统会先检查在D盘下有没有autorun.inf文件的存在,如果有,就执行它里面的代码,而OPEN的意思就是打开它后面的程序!所以你双击D盘的操作,实际上上把病毒文件执行了一遍。
ok,现在你要做的,就是删除掉OPEN所写的病毒文件,然后再删除这个autorun.inf文件,然后重新启动——一定要重启,D盘才能恢复正常!如果你发现重启后还是如此,那问题就会稍微复杂点:病毒在开机的时候被自动执行了,而执行的结果之一是生成了新的autorun.inf,那么你就需要对硬盘杀毒了,或者根据OPEN后面写的文件名到搜索引擎寻找手工解决的办法。当然这就是本文之外的内容了。你可能会发现自己动手清理掉一个难缠的病毒是一件相当有意思和有成就感的事,希望你会从此喜欢上手工杀毒。
有人问:那么,有没有什么办法杜绝这样的情况发生呢?因为我们通常都是直接双击打开盘符的,特别是U盘、移动硬盘等。
答:当然有,彻底杜绝!
接着问:那怎么搞?
答:非常简单,跟我做。
通过一个叫“组策略”的东西,我们可以关闭所有驱动器的自动播放。这样的即使存在autorun.inf,也不会影响我们双击打开盘符。运行gpedit.msc就会打开组策略,在左边窗口中依次打开计算机配置——管理模板——系统,然后在右边窗口中找到“关闭自动播放”,双击打开这一项,选择“已启用”,然后选择“所有驱动器”,确定!最后,别忘了重新启动。
PS:组策略是Windows绝对值得研究的东西之一,搜索引擎会有无数的教程和技巧。
看到这里,我想你已大概明白了到底是怎么一回事了。以后在任何时候,当你发现双击任何一个盘符打不开、不正常等情况,首先要看看有没有zutorun.inf(记得它们大多是隐藏+系统的属性),我想你已经知道怎么做了。
最后说一下为什么光驱的情况除外呢?因为大部分光盘中都自己放了autorun.inf和相应的程序文件,使得你放进光盘后就会自动运行那个程序,这些都是正常的,所以光驱的情况要除外。
至于很多人问,为什么我按照这个方法删除了,重启后发现autorun.inf文件还在,为什么?很简单,你只是清理掉了autorun.inf和它里面OPEN后面写的那个程序,但实际上这些都不是真正的病毒体,病毒体一般会藏在windows目录或者system32目录,它们会在开机时自动启动,自动启动时会检查那些autorun.inf文件是不是在,不在的话会自动生成。所以在你手工删除autorun.inf时,必须确保病毒已经被干掉了,这个顺序不能乱。杀毒软件都很傻,它们会把病毒给你清理掉,但病毒生成的autorun.inf是不会被干掉的,因为这个文件不是病毒。到这个时候你才能根据本文所说的方法去删除掉这个文件,解决掉双击盘符打不开的问题。
QUOTE:
以上所有的操作也可以在CMD窗口中来进行,假设当前路径是D盘:
查看文件属性:attrib,这样所有D盘根目录的文件,包括隐藏文件全部会出现,只要属性是SH的,就是系统+隐藏属性
查看autorun.inf文件内容:type autorun.inf,这样就能看到autorun.inf的内容,OPEN后面的程序就出现了
删除autorun.inf:del /f /q /a sh autorun.inf
删除病毒文件:del /f /q /a sh 病毒文件名 |