专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Windows » 揭开SVCHOST.exe进程之谜 »正文

揭开SVCHOST.exe进程之谜

来源: 发布时间:星期三, 2009年2月4日 浏览:0次 评论:0
转载: 网易科技
  svchost.exe是nt核心系统非常重要进程对于2000、xp来说不可或缺很多病毒、木马也会所以深入了解这个是玩电脑必修课的
  大家对windows操作系统定不陌生但你是否注意到系统中"svchost.exe"这个文件呢?细心朋友会发现windows中存在多个 "svchost"进程(通过"ctrl+alt+del"键打开任务管理器这里"进程"标签中就可看到了)为什么会这样呢?下面就来揭开它神秘面纱
发现
  在基于nt内核windows操作系统家族中区别版本windows系统存在区别数量"svchost"进程用户使用"任务管理器"可查看其进程数目般来说win2000有两个svchost进程winxp中则有 4个或 4个以上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"命令
svchost中可以包含多个服务
深入
  windows系统进程分为独立进程和共享进程两种"svchost.exe"文件存在于"%systemroot% system32"目录下它属于共享进程随着windows系统服务不断增多为了节省系统资源微软把很多服务做成共享方式交由 svchost.exe进程来启动但svchost进程只作为服务宿主并不能实现任何服务功能即它只能提供条件让其他服务在这里被启动而它自己却不能给用户提供任何服务那这些服务是如何实现呢?
  原来这些系统服务是以动态链接库(dll)形式实现它们把可执行指向 svchost由svchost相应服务动态链接库来启动服务那svchost又如何知道某个系统服务该哪个动态链接库呢?这是通过系统服务在注册表中设置参数来实现下面就以rpcss(remote procedure call)服务为例进行讲解
  从启动参数中可见服务是靠svchost来启动
例子
  以windows xp为例点击"开始"/"运行"输入"services.msc"命令弹出服务对话框然后打开"remote procedure call"属性对话框可以看到rpcss服务可执行文件路径为"c:windowssystem32svchost -k rpcss"这介绍说明rpcss服务是依靠svchost"rpcss"参数来实现而参数内容则是存放在系统注册表中
  在运行对话框中输入"regedit.exe"后回车打开注册表编辑器找到[hkey_local_machine systemcurrentcontrolservicesrpcss]项找到类型为"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"目录中因此使用进程管獊
标签:

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: