当前位置: 首页 > 图文教程 > 操作系统 > Windows > svchost.exe是病毒还是正常进程?

Windows
能追踪Windows系统登录时间的三种方法
漫谈Windows 7对固态硬盘的优化
Windows7 开始菜单设置技巧1例
winxp 右键出现attach错误解决方法
Windows光盘制作U盘安装系统的方法
飞信2008在Windows 7不能使用问题的解决方法
Windows7 闪屏的解决办法(因优化过度)
windows7 蓝屏问题的解决方法
Vista 拒绝访问提示的解决方法
gpedit.msc 无法运行 提示本次操作由于这台计算机的限制而被取消(超强解决方案)
Vista 系统开始菜单命令提示
Vista系统下IE8有N个进程只显示一个的实现方法
Vista 系统诊断和修复功能自动判断网络故障
找回删除的文件方法小结
Windows7 库功能把文件收藏起来
Windows7 电源管理功能说明
设置BIOS提高Windows7速度的方法
Windows7 授权管理工具 slmgr.vbs
系统设置技巧 变换常见文件夹颜色
Windows7故障 DVD光驱不被系统所识别

Windows 中的 svchost.exe是病毒还是正常进程?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 57 ::
收藏到网摘: n/a

 大家对windows操作系统一定不陌生,但你是否注意到系统中“svchost.exe”这个文件呢?细心的朋友会发现windows 中存在多个 “svchost”进程(通过“ctrl+alt+del”键打开任务管理器, 这里的“进程”标签中就可看到了),为什么会这样呢?下面就来揭开它神秘的面纱。

  一、初步了解

  在基于nt内核的windows操作系统家族中,不同版本的 windows系统,存在不同数量的“svchost”进程,用户使用“ 任务管理器”可查看其进程数目。一般来说,win2000有两个 svchost进程,winxp中则有四个或四个以上的svchost进程,而 win2003 server中则更多。这些svchost进程提供很多系统服务,如: rpcss服务(remote procedure call)、dmserver服务(logical disk manager)、dhcp服务 (dhcp client)等。

  如果要了解每个svchost进程到底提供了多少系统服务, 可以在win2000的命令提示符窗口中输入“tlist -s”命令来查 看,该命令是win2000 support tools提供的。在winxp则使用“tasklist /svc”命令 。

  二、深入研究

  windows系统进程分为独立进程和共享进程两种, “svchost.exe”文件存在于“%systemroot% system32”目录下,它属于共享进程。随着windows系统服务不 断增多,为了节省系统资源,微软把很多服务做成共享方式, 交由 svchost.exe进程来启动。但svchost进程只作为服务宿主,并 不能实现任何服务功能,那这些服务是如何实现的呢?

  八哥网(http://www.it8g.com)专家介绍,这些系统服务是以动态链接库(dll)形式实现的 ,它们把可执行程序指向 svchost,由svchost调用相应服务的动态链接库来启动服务。 那svchost又怎么知道某个系统服务该调用哪个动态链接库呢? 这是通过系统服务在注册表中设置的参数来实现。

  三、实例应用

  以windows xp为例,点击“开始”/“运行”,输入 “services.msc”命令,弹出服务对话框,然后打开“remote procedure call”属性对话框,可以看到rpcss服务的可执行文件的路径为 “c:windowssystem32svchost -k rpcss”,这说明rpcss服务是依靠svchost调用“rpcss”参数 来实现的,而参数的内容则是存放在系统注册表中的。

  在运行对话框中输入“regedit.exe”后回车,打开注 册表编辑器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]项,找到类型为 “reg_expand_sz”的键“magepath”,其键值为“% systemroot%system32svchost -k rpcss”(这就是在服务窗口中看到的服务启动命令),另 外在“parameters”子项中有个名为“servicedll”的键,其值为“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是 rpcss服务要使用的动态链接库文件。这样 svchost进程通过读取“rpcss”服务注册表信息,就能启动该 服务了。

  四、解惑疑点

  因为svchost进程启动各种服务,所以病毒、木马也想尽办法来利用它,企图利用它的特性来迷惑用户,达到感染、 入侵、破坏的目的(如冲击波变种病毒“w32.welchia.worm” )。但windows系统存在多个svchost进程是很正常的,在受感 染的机器中到底哪个是病毒进程呢?这里仅举一例来说明。

  假设windows xp系统被“w32.welchia.worm”感染了。正常的svchost文件存 在于“c:windowssystem32”目录下,专家介绍发现该文件出现在其 他目录下就要小心了。“w32.welchia.worm”病毒存在于 “c:windowssystem32wins”目录中,因此使用进程管理器查看 svchost进程的执行文件路径就很容易发现系统是否感染了病毒 。

  系统自带的任务管理器不能够查看进程的路径,可以使 用第三方进程管理软件,如“windows优化大师”进程管理器, 通过这些工具就可很容易地查看到所有的svchost进程的执行文 件路径,一旦发现其执行路径为不平常的位置就应该马上进行 检测和处理。