该问题是由于电脑感染了著名木马家族CoolWebSearch的新变种造成的。本变种有两个.dll文件,其中一个可以被最新版本的CWShredder.exe或者Ad-aware清楚,也能被HijackThis发现,但是另一个.dll文件使用了特别的加密、反跟踪手段,使得本身能够逃过大部分软件的监测。正是这个文件反复生成能被清除的那另一个.dll文件,造成此症迁延难愈。
方法一(简单但是可能有损失,未必能解决问题,不推荐)
将注册表恢复到出问题以前(但这期间对注册表做的其它操作也会无效) 或者 系统还原到出问题以前。
方法二(针对9X/Me用户,同样很简单) 启动到安全模式,使用HijachThis找到在O4:……Runservicesonce项启动的一个.dll文件,修复该项。(使用msconfig.exe或者直接改注册表都可以。)然后找到并删除此.dll文件(可能需要先去除其只读、系统、隐藏等属性,这之前还要打开文件夹选项中的“显示隐藏文件”才能看到它)。重新启动到正常模式。
进入安全模式的方法:重新启动电脑, 开机检测完后, 按[F8]键(可以一直按到启动菜单出来为止), 选择安全模式进入Windows
方法三(针对2000/XP用户,复杂,请看清步骤,由于操作失误造成的损失只好请您自己承担)
1 下载reglite,这是一个免费的注册表编辑器,功能比Windows自带的有所增强。
http://www.resplendence.com/download/reglite.exe
另外,再请下载最新版CWShredder.exe备用。 4个地址,同一工具。
http://www.merijn.org/files/CWShredder.exe
http://www.zerosrealm.com/downloads/CWShredder.zip
http://www.spywareinfo.com/~merijn/files/CWShredder.exe
http://www.spywareinfo.com/~merijn/files/cwshredder.zip
2 安装并运行reglite,在最上面的地址栏(address)输入下面一行(可以从这里复制粘贴过去)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\\AppInit_DLLs
点右面的Go
3 在右下的窗口双击AppInit_DLLs,会弹出一个叫“data editor”的窗口。在最下面的Value那一行,您会看到一个(一般来说应该是一个).dll文件的路径和文件名。这就是那个“隐藏”的文件。记住它的路径、名字以及上一行的Size值。这个文件一般应该在系统文件夹,这里为了叙述方便,假设它为C:\Windows\system32\dllname.dll。
4 此时左下的窗口选中的应该是Windows一项,请再用鼠标点它一下以使对它的选中激活(选中时的颜色为紫色,请确认没错,是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows,千万不要搞错),点击最上面工具条上的Edit,然后在弹出菜单上点击Rename。此时可以给Windows这一项改名字了,请改为notWindows。(改为notWindows主要是为了便于叙述,其实也可以改成别的,重要的是把Windows项改名这一动作本身去除了对那个.dll文件的某些保护。)
5 回到右下窗口再次双击AppInit_DLLs,在Value那一行删除刚才看到的关于那个.dll文件的整个项目。在我假设的例子里,就是在Value那一行删除C:\Windows\system32\dllname.dll这一项。点击该窗口下面第三个按钮“Apply”再点第一个按钮“OK”。
6 重复上面的第4步,但这次是把刚才改名的Windows那一项(改为notWindows了,对吗)改回原名Windows。
7 运行CWShredder.exe,先点击chech for update将它升级为最新版(需要联网),然后点Fix让它自动修复问题。这一步会清除剩下的另一个.dll文件。
8 下面就要请那个“隐藏”的.dll文件出去啦。上面说了,这里我假设它为C:\Windows\system32\dllname.dll,注意,您遇到的那个.dll应该有自己的名字和路径,您安装系统的分区也可能不是C。首先我们要去除该文件的属性,开始――运行――输入command――按“确定”――在弹出的DOS窗口中,输入 CD C:\Windows\system32 ――按“Enter”(回车)――输入 attrib -r -s -h dllname.dll ――按“Enter”(回车)――输入 exit――按“Enter”(回车),DOS窗口关闭。 再往下的方法有几个,基本上应该都可以。 (1)如果您使用的是Fat/Fat32格式,可以尝试给该.dll文件改名(连扩展名一起改),然后重新启动后尝试删除它。一次不行的话,不妨连续多改几次。
(2)上面的方法不行的话,如果您是双系统或者多系统,而且其中包括9x或Me,您也可以启动到9x或Me的安全模式,删除该.dll文件。(最好在文件夹选项中显示系统文件、隐藏文件,否则可能找不到它)。
进入安全模式的方法:重新启动电脑, 开机检测完后, 按[F8]键(可以一直按到启动菜单出来为止), 选择安全模式进入Windows
(3)如果您没有使用NTFS格式,还可以用启动光盘或者启动软盘启动到DOS模式,删除该文件。希望您有一定的DOS操作经验。操作举例(注意每输入一行,后面都要按“Enter”回车) C: CD C:\Windows\system32 attrib -r -s -h dllname.dll (注意,加上这一步是为了保险) del /f dllname.dll 然后重新启动,在BIOS里恢复从硬盘启动,正常进入windows。
关于如何在BIOS里设置从光盘或者软盘启动,请参考 BIOS设置图解说明
http://community.rising.com.cn/Forum/msg_read.asp?FmID=3&SubjectID=1724648&page=1 简单说,进CMOS设置(一般是开机过程中按Del,也可能是其它键,参考你的主板说明书),并选择BIOS FEATURES SETUP――>Boot Sequence,将其值设为A,C或A;C,SCSI(注:用PageUp\PageDown设置),按ESC退出,选择SAVE&EXIT SETUP保存设置并重新启动。这就设成了从软驱优先启动。(注:不同主板的电脑进入CMOS设置有可能不一样,但设置大体相似)
(4)如果您使用NTFS格式,由于NTFS格式可以设置一些权限(该木马也的确这么做了),问题就比较麻烦了。您可以尝试反复给这个.dll文件改名(可以使用CopyLock等第三方工具),每次用一个不同的名字(尤其扩展名要改成windows不能识别的,比如dgewsc.dafhf或者342234.5346什么的),反复改名几次,也许就可以删除它了。不行的话,设置从光盘启动,插入2000/XP光盘,进入恢复控制台(让您选择时按R),然后参照上面(3)的DOS清除法。
|