作者:电脑爱好者
一、 名不副实的Svchost,走开!
Process Explorer可以查看
Svchost.exe进程的详细信息,再从进程路径和运行的用户来判断它是否为正常系统进程。系统的Msinfo32命令同样有此功能。
1.单击“开始→运行”,执行“msinfo32”命令打开系统信息窗口,依次展开“系统摘要→软件环境→正在运行任务”,在这里获得的信息并不比Process Explorer提供的少:进程名称、路径、优先顺序、开始时间、版本等一应俱全。通过这些信息就可以方便地判断Svchost.exe的真伪了(见图1)。
图1 Svchost.exe
2.通过Msinfo32命令发现伪系统进程后,记住它的进程ID,再按Ctrl+Alt+Del键打开任务管理器将这一进程终止即可。
★默认情况下,
任务管理器并不显示进程的ID,可单击菜单“查看→选择列”,勾选PID(进程标识符)项就可以显示了。
★如果无法在任务管理器中终止病毒进程,可以使用Ntsd命令强行终止它。在命令提示符窗口,输入以下命令:
ntsd -c q -p 1106
参数“-p”表示后面跟随的是进程ID,这里的“1106”就是在我的机器上发现的某个病毒进程的具体PID值。执行以上命令,就可以顺利结束这一进程了。
二、 砍断伸向Rundll32.exe的黑手
使用Process Explorer还可以查看Rundll32.exe的命令行,以判断通过它调用的DLL文件是否加载了DLL木马。使用WMIC命令我们同样可以做到这点。
1.单击“开始→运行”,输入“wmic”,回车后弹出命令提示符窗口开始安装WMIC,接着出现wmic:root\cli>提示符,其中“root\cli”是默认的WMIC角色。
2.如果通过任务管理器发现有rundll32.exe进程存在,要查看它加载的DLL文件,只要在“wmic:root\cli>”提示符后输入以下命令:
process where(description="rundll32.exe" )
按回车键后,Rundll32.exe调用的DLL文件就一目了然了(见图2)。这一方法同样可以查看其他进程,只要把上面的rundll32.exe换成要查看的进程名即可。
图2 DLL调用
3.如果在命令提示符下直接执行“process”命令,则可以查看当前所有活动进程的命令行参数,一些无法通过Msinfo32显示的进程(如某些svchost.exe)信息,全都原形毕露了。