提到开机加载(load)项,大家不要以为就是系统启动(run)项。最简单的例子是,杀毒软件或者用户手动删除病毒文件后,注册表中的自动加载信息仍在,登陆系统时就会提示“加载*dll出错,系统找不到指定的模块”,这些dll就是病毒寄生在系统进程之下的加载项。
病毒本身被阻止运行,却“挟系统以令用户”,辗转藏在系统进程后面继续狐假虎威,大行其道;它们被发现并删除后,下次系统登陆、启动服务、初始化用户配置、启动外壳explorer.exe时,依然会按注册表的指示运行rundll32.exe调用这些加载项,这时系统找不到文件实体,就会提示加载失败。虽然不影响使用,但那“嗡”的一声,有如晴天霹雳,让人一开机就憋得慌!点击确定后也一直如坐针毡,总感觉自己中毒了。
其实,只要在注册表中搜索这个dll删掉,一般就能就地解决。问题是,很多dll在注册表中根本搜索不到,但开机时它就是要弹框!别慌,只要去注册表中如下固定位置扫荡一遍,疏而不漏,总能找到蛛丝马迹。以下位置最前四字母均为首字母缩写,在注册表利器Registry Workshop的地址栏中通用,可直接粘贴回车转到,并加入收藏,收藏还可分类哦~
Let's Go
!
(
1
)
WinLoad
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load
这项原本不存在,或者默认为空。如果病毒将自己的dll添加到这里,可想而知系统启动时就会自动加载它。
(
2
)
Notify
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
这里是windows登陆“通知”,图中的项都是正常项。以前Windows 正版增值计划通知(WGA)提示Windows不是正版,就是通过wgalogon.dll在这里添加了一个项,登陆时通知调用WgaTray.exe,在托盘弹出提示的。如果病毒也在这里嵌入一个“通知”,开机时当然会有所表现并有所动作。
(
3
)
Userinit
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
当“欢迎使用”或“正在加载个人配置”的窗口飘过后,我们打开任务管理器,可以看到这个Userinit.exe进程逗留了很久方去,它就是用户个人配置初始化程序。其默认值是C:\WINDOWS\system32\userinit.exe,(带英文半角逗号),如果这项被修改,加载个人配置时就会难产弹错;如果被改成病毒程序,后果不堪设想。
(
4
)
LogonShell
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
Shell外壳指的是可视化的用户资源管理界面,默认值Explorer.exe,即显示资源管理器、“我的电脑”、文件夹、桌面、开始菜单、任务栏、托盘的程序。当我们从任务管理器结束Explorer.exe,可看到桌面只剩一张壁纸,文件夹界面全体消失,应用程序窗口仍在。
如果开机进入桌面后出现这种情况,说明Explorer.exe程序被修改了或在注册表此项被阻止启动了。这时先可试着从资源管理器运行explorer,不行的话从别人电脑里拷贝explorer.exe到Windows文件夹覆盖,同时还要进入这里查看Shell的默认值Explorer.exe有没有被篡改,后面有没有被加上“尾巴”即病毒附着在Explorer.exe上面的加载项。
(
5
)
ExplorerAutoRun
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer
图中项为Windows某更新所产生的正常项,但注意这里也可以被病毒嵌入加载项。
(
6
)
ShellServiceObjectDelayLoad
KLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
这些是“外壳服务”,例如CDBurn是鲜为人知的Window自带刻录功能,SysTray是系统托盘显示程序,这项没了开机后一些托盘图标就会消失。当然病毒加载项也可在这里滥竽充数。
(
7
)
ShellExecuteHooks
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks
这是“外壳挂钩程序”,图中正常项对应shell32.dll,包括系统图标、工具栏等界面元素。如果病毒在这里有眼线,它生前一定会随外壳运行,死后也会继续弹框出错。
(8)计划任务
这种情况比较特殊,是指用户自定义的计划任务,因找不到文件而弹出加载出错。典型例子就是“自定义桌面”里的“桌面清理向导”
清理桌面任务是由system32目录下的fldrclnr.dll负责的,很多系统精简了这个文件,如果用户又不小心勾上了“每60天运行桌面清理向导”,60天后开机肯定会弹出“加载fldrclnr.dll出错”,这时无论你怎样折腾注册表,都是竹篮打水。
以上八家,围剿完毕,加载dll纷纷原形毕露,删之,就能彻底告别那当头一棒的“加载失败”框了!把这些常见位置加入Registry Workshop的收藏夹,以后就再也不怕它弹了!更多隐秘期待诸君自己积累。