病毒替换系统文件的发现及解决(给新手)

最近,机器狗等病毒通过释放病毒文件覆盖c:\windows\explorer.exe(用于管理桌面图标和任务栏)或c:\windows\system32\userinit.exe(用于管理不同的启动顺序)这两个自启动系统文件,一方面实现病毒进程开机自启动和便于随机感染特定类型的文件,一方面导致系统出现异常(如任务栏变成98经典样式)。那么,怎么发现和恢复呢(发现问题很容易,但处理起来有很多注意事项)?

(一)发现和解决病毒覆盖c:\windows\explorer.exe问题(假设C盘是系统所在盘)。
如果熟悉SRENG扫描日志的话,你会发现被病毒替换c:\windows\explorer.exe的计算机的SRENG扫描日志中有这样的内容:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
<shell><Explorer.exe>[]
正常的应该是:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
<shell><Explorer.exe> [(Verified)Microsoft Windows Publisher]
相差就在数字签名上,“[]”表示计算机现在的c:\windows\explorer.exe已经不是正常的系统文件(从该文件的创建时间、修改时间、版本号、大小也可以判断,即通过右键该文件,选择“属性”菜单来查阅,不过没有SRENG扫描日志直观)。
现在说说解决方案:
【方案一】利用隐藏文件夹c:\windows\system32\dllcache中备份的explorer.exe替换已经被病毒替换的c:\windows\explorer.exe。此办法适合于c:\windows\explorer.exe已被病毒替换,但c:\windows\system32\dllcache\explorer.exe尚正常的情形。
具体步骤:
(1)开始—运行—输入c:\windows\system32\dllcache—回车,进入c:\windows\system32\dllcache这个系统隐藏文件夹的窗口,找到explorer.exe这个文件,修改该文件名为“explorer(1).exe”,然后将这个文件复制并粘贴到c:\windows目录下;然后把c:\windows\system32\dllcache目录下已被改名的“explorer(1).exe”重命名为explorer.exe;
(2)任务栏上右键,选择“任务管理器”,然后在任务管理器对话框,选择“进程”选项卡,找到“EXPLORER.EXE”这个项目并单击,然后点右下脚的“结束进程”,会发现桌面图标和任务栏都不见了。没事,这很正常。
(3)按“CTRL”+“ALT”+“DEL”组合键,调出任务管理器,文件—新建任务(运行)—输入“WINRAR.EXE”—回车,进入WINRAR压缩工具对话框;
(4)在WINRAR对话框中,找到已被病毒替换的c:\windows\explorer.exe这个文件,右键之,选择“删除文件”;
(5)在在WINRAR对话框中,找到c:\windows\ explorer(1).exe这个文件,右键之,选择“重命名”,修改文件名为“explorer.exe”
(6)按“CTRL”+“ALT”+“DEL”组合键,调出任务管理器,文件—新建任务(运行)—输入“explorer.exe”—回车,桌面图标和任务栏就回来且正常了。
<注意>:在步骤1找到c:\windows\system32\dllcache\explorer.exe后,请检查这个文件的创建时间及版本号、大小,如果也是不正常的,以后的步骤也不要做了,直接执行方案二。
如果【方案一】中第1步骤不让复制c:\windows\system32\dllcache\explorer.exe和改名,该怎么办?留给大家思考。
【方案二】用同版本操作系统的其他计算机上正常的explorer.exe替换病机上的c:\windows\system32\dllcache\explorer.exe和c:\windows\explorer.exe文件
如果病机上的c:\windows\system32\dllcache\explorer.exe和c:\windows\explorer.exe两个文件都不正常,则可以用此办法。
具体步骤:
(1)操作系统版本的其他计算机上正常的c:\windows\explorer.exe这个文件拷贝到U盘的根目录下,然后将U盘中的explorer.exe重命名为explorer(1).exe;
(2)插入U盘到病机,将U盘根目录下的explorer(1).exe复制并分别粘贴到c:\windows\system32\dllcache和c:\windows目录下;
(3)任务栏上右键,选择“任务管理器”,然后在任务管理器对话框,选择“进程”选项卡,找到“explorer.exe”这个项目并单击,然后点右下脚的“结束进程”。
(4)按“CTRL”+“ALT”+“DEL”组合键,调出任务管理器,文件—新建任务(运行)—输入“WINRAR.EXE”—回车,进入WINRAR压缩工具对话框;
(5)用WINRAR压缩工具删除c:\windows\system32\dllcache\explorer.exe,并将同目录下的explorer(1).exe重命名为explorer.exe;接着删除c:\windows\explorer.exe,将同目录下的explorer(1).exe重命名为explorer.exe
(6)按“CTRL”+“ALT”+“DEL”组合键,调出任务管理器,文件—新建任务(运行)—输入“explorer.exe”—回车,桌面图标和任务栏就回来且正常了。
<注意>其他机的操作系统版本要和病机的完全一致,否则操作后将导致病机出现其它异常。


(二)发现和解决病毒覆盖c:\windows\system32\userinit.exe问题(假设C盘是系统所在盘)。
病毒替换c:\windows\system32\userinit.exe这个系统文件后, SRENG扫描日志中将出现如下内容:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
<Userinit><C:\WINDOWS\system32\userinit.exe,> []
或:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
<Userinit><userinit.exe,> []
正常的应该是:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
<Userinit><C:\WINDOWS\system32\userinit.exe,> [(Verified)Microsoft Windows Publisher]
相差仍是在数字签名上(如果没有SRENG扫描日志,仍然可以通过显示该文件的属性来进行初步判断)。
如果确认该文件被病毒替换了,可用以下方法解决:
【方法一】利用本机隐藏文件夹c:\windows\system32\dllcache中备份的userinit.exe替换已经被病毒替换的c:\windows\system32\userinit.exe。此办法适合于c:\windows\system32\userinit.exe已被病毒替换,但c:\windows\system32\dllcache\userinit.exe尚正常的情形。
具体步骤:
(1)开始—运行—输入c:\windows\system32\dllcache—回车,进入c:\windows\system32\dllcache这个系统隐藏文件夹的窗口,找到userinit.exe这个文件,修改该文件名为“userinit(1).exe”,然后将这个文件复制并粘贴到c:\windows\system32\目录下,然后回头将c:\windows\system32\dllcache目录下的userinit(1).exe重命名为userinit.exe。
(2)直接删除c:\windows\system32\userinit.exe这个已被病毒替换的文件,然后将c:\windows\system32目录下的userinit(1).exe重命名为userinit.exe,之后重启电脑即可。
如果出现不能删除c:\windows\system32\userinit.exe这个文件的情况,可能是该文件正在运行中,此时请在任务栏上右键,选择“任务管理器”,然后在任务管理器对话框,选择“进程”选项卡,找到“userinit.exe”这个项目并单击,然后点右下脚的“结束进程”,然后再尝试删除。
<注意>:在步骤1找到c:\windows\system32\dllcache\userinit.exe后,请检查这个文件的创建时间及版本号、大小,如果也是不正常的,以后的步骤也不要做了,直接执行方法二。
【方法二】用同版本操作系统的其他计算机上正常的userinit.exe替换病机上的c:\windows\system32\dllcache\explorer.exe和c:\windows\system32\userinit.exe文件
如果病机上的c:\windows\system32\dllcache\userinit.exe和c:\windows\system32\userinit.exe两个文件都不正常,则可以用此办法。
具体步骤:
(1)将同版本操作系统的其他计算机上正常的c:\windows\system32\userinit.exe这个文件拷贝到U盘的根目录下,然后将U盘根目录下的userinit.exe重命名为userinit(1).exe;
(2)插入U盘到病机,将U盘中的userinit(1).exe复制并分别粘贴到c:\windows\system32\dllcache和c:\windows\system32目录下;
(3)删除c:\windows\system32\dllcache\userinit.exe,将同目录下的userinit(1).exe重命名为userinit.exe,接着删除c:\windows\system32\userinit.exe,将同目录下的userinit(1).exe重命名为userinit.exe(如果不能删除userinit.exe这个文件,请先用任务管理器结束同名进程)。
<注意>其他机的操作系统版本要和病机的完全一致,否则操作后将导致病机出现其它异常。

需要特别说明的是:
1、由于很多朋友不喜欢显示隐藏文件和文件夹,所以我使用了运行命令打开隐藏文件夹c:\windows\system32\dllcache的方法,显示隐藏文件的方法就不赘述了。
2、如果确认本机C:\WINDOWS\system32\userinit.exe文件被病毒替换后,请不要盲目用杀毒软件清除病毒,因为一些杀软会将被病毒感染的文件直接删除,如果之后重启、关闭、注销计算机,下次开机后会出现在计算机在系统登陆界面反复注销的情况,将导致无法登陆WINDOWS系统。因此,在以上操作中,在删除被病毒覆盖的C:\WINDOWS\system32\userinit.exe后、userinit(1).exe重命名为userinit.exe之前,千万不能进行重启、关机、注销等操作,也千万不能断电。
3、最好在杀死释放覆盖c:\windows\explorer.exe或c:\windows\system32\userinit.exe系统文件的病毒本体后,再使用以上方法,否则就算改回来,也可能会被再次替换。
4、建议拔掉网线操作。
5、以上为个人理解,如有不当之处欢迎指正。

最后编辑2008-01-30 17:16:55