欢迎来到天天文库
浏览记录
ID:18919480
大小:112.50 KB
页数:5页
时间:2018-09-22
《进程如何识别亦真亦假的svchost》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、紧急状况:系统发现严重病毒 小菜刚刚学习了进程的概念和知识,于是就打开“任务管理器”观察系统中的进程,这一看不要紧,还真发现了一个“病毒”——Svchost.exe,这家伙在系统进程列表中竟然有5个之多(见图1),于是小菜就逐个结束这些进程,没想到第二个进程结束后还会再生,而结束第四个进程时更离谱,系统提示“系统即将关机,离关机还有60秒”,进程再生、错误提示,这些典型的病毒“症状”更让小菜相信“Svchost.exe”是病毒无疑,但无法结束进程,又该怎么清除病毒呢?小菜只好请来了大嘴。大嘴过来后还没看电脑,就先告诉小菜,系统中的Svchost.exe进程是正常系统进程,
2、不是病毒,不仅仅是你,其他朋友一看到系统中这么多的Svchost.exe进程,第一反应也感觉它是病毒,虽然系统中有多个Svchost.exe进程是正常的,但也不保证都是正常的。听起来似乎有些矛盾?这让小菜更有些迷糊,大嘴坐下后给小菜详细讲了起来。 二、松了口气:Svchost.exe是台“CD机” 1.服务装在“CD机”里 Svchost.exe是NT内核(Windows2000/XP/2003都属于NT内核操作系统)独有的进程,“Svchost”其实就是“ServiceHost”(服务宿主)的缩写。微软官方对它的定义是:Svchost.exe是从动态链接库(DLL)中运
3、行的服务的通用主机进程名称,通俗讲,它就是一个服务装载器。大家可以把每个服务想象成一张音乐CD,而Svchost.exe就是用来播放这种CD的CD机。操作系统 2.为什么用“CD机”装服务 由于Windows2000/XP系统服务越来越多,以EXE单独进程的形式启动所有服务会大大增加系统负担,为节省系统资源,微软将一些系统服务以动态链接库(DLL)形式实现,而Svchost.exe就是用来装载这些DLL文件以启动系统服务的程序。没有人会为了发行一张CD而制作一台专用播放此CD的CD机,微软也一样。 3.系统里有几台这样的“CD机” 那为什么系统进程列表中的Svchost
4、.exe会有多个呢?微软为了让系统能更好地进行服务控制,就允许多个Svchost.exe进程同时运行,每个Svchost.exe进程可以包含一组服务,想像一下可以同时容纳3张甚至更多CD的多碟CD机。打开注册表[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionSvchost]主键,在窗口右侧可以看到许多键值,这里的每个键值都代表一组服务,键值数据则包含了该组服务下面运行的服务名称列表,每组服务启动时都会通过单独的Svchost.exe进程来装载。WindowsXP中默认共有六组服务(见图2),其中im
5、gsvc、NetworkService、rpcss、termsvcs四个组,它们都只有一个服务运行,这些服务启动后的Svchost.exe进程用户名为“SYSTEM”。而LocalService和netsvcs组都启动了多个服务,它们的Svchost.exe进程用户名分别为“LOCALSERVICE”和“NETWORDSERVICE”,从图1中可以看到这种区别。当然了,这六组服务通常并不都是启动状态的,根据系统启动的服务不同,反映在系统进程列表中的Svchost.exe进程数量也是不同的,WindowsXP会有四个到六个Svchost.exe进程,而Windows2000通常则
6、会有两个Svchost.exe进程。小提示:点击“开始→运行”,在运行框中输入“CMD”回车,然后在打开的命令行窗口中输入“Tasklist/svc”(不含引号)命令,可以更直观地看到每个Svchost.exe进程装载的服务名称列表(见图3)。4.获取每张“CD”的详细信息 如果想更进一步了解Svchost.exe装载的这些服务都是什么功能,可以记下键值数据中的服务名称,例如“RpcSs”,接着打开注册表的[HKEY_LOCAL_MACHINESystemCurrentControlSetServices],再打开下面的“RpcSs”子键,在右边的“Descriptio
7、n”键值中就可以看到该服务的描述,而在“ImagePath”键值数据中则可以看到这个服务的运行命令正是“%SystemRoot%system32svchost-krpcss”(见图4)。而在“RpcSs”子键下还有一个“Parameters”(参数)子键,其右边的“ServiceDll”键值数据“%SystemRoot%system32rpcss.dll”则表明了RpcSs服务启动时调用的是系统目录下的“Rpcss.dll”文件,这就好像你原来只知道CD中歌曲的歌名,现在又让你能够查
此文档下载收益归作者所有