全面认识Svchost.exe进程
很多朋友对Svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,windows中可以有多个Svchost.exe进程同时运行,例如Windows 2000至少有2个Svchost进程,Windows XP中有4个以上,Windows 2003中则有更多,所以当你看到多个Svchost进程时,未必就是病毒!
Svchost.exe进程是干什么的?
Svchost.exe文件存在于“%system root%\system32”(例如C:\Windows\system32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。例如Svchost.exe调用rpcss.dll文件,就会启动rpcss服务(remote procedure call)。
Svchost.exe实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以用来运行动态链接库DLL文件,从而启动对应的服务。Svchost.exe进程可以同时启动多个服务。
Svchost是如何启动系统服务的?
由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向Svchost,因此Svchost只要调用某个动态链接库,即可启动对应的服务。那么Svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,因此Svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。
下面我们以Svchost启动helpsvc(Help and Support)服务为例,介绍其启动服务的方法。在Windows XP中点击“开始” “运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“Help and Support”服务属性对话框,可以看到helpsvc服务的可执行文件的路径为“C:\WINDOWS\System32\svchost.exe -k netsvcs” (如图2),说明helpsvc服务是依靠SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。

在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\helpsvc]项,找到类型为“REG_EXPAND_SZ”的键“magePath”,其键值为“%SystemRoot%\System32\svchost.exe -k netsvcs”(这就是在服务窗口中看到的服务启动命令),另外在“Parameters”子项中有个名为“ServiceDll”的键,其值为“%WINDIR%\PCHealth\HelpCtr\Binaries\pchsvc.dll”,其中“pchsvc.dll”就是helpsvc服务要使用的动态链接库文件。这样SVCHOST进程通过读取“helpsvc”服务注册表信息,就能启动该服务了。
[1] [2] 下一页
- · 体验Win 2003系统中实用的四种Web接口
- · Win2000中DLL文件报错或丢失的解决方案
- · 知已知彼 Windows系统常见漏洞分析
- · 服务器应用:教你一步步装红旗linux
- · Linux NFS服务器性能优化
- · Windows操作系统常遇木马预防技巧
- · 操作系统的木马常识和预防技巧
- · 技巧:IIS使用十大原则
- · Unix的基础哲学
- · Windows 2003中如何安全的释放内存
- · Windows XP系统中巧妙屏蔽插件安装
- · BSD操作系统大盘点:四种主流BSD
- · 简单实用 Linux操作系统三则超酷技巧
- · 解决BT与浏览网页在SP2中的冲突
- · 在Windows XP系统中禁止修改文件属性
- · 彻底掌握IIS6.0功能及应用详解
- · 二十五步跟我搞定Linux系统
- · 服务器配置SSL
- · Linux内核技术分析
- · Free BSD常用指令简述
- · 制作软盘上运行的FreeBSD系统
- · 菜鸟学装FreeBSD5.1图解(二)
- · OpenBSD入门
- · Active Directory修理和恢复
- · 利用DNS实现负载均衡
- · 安装额外的域控制器循序渐进
- · Windows 2003 激活和优化大全
- · Windows Server 2003实用技巧七则
- · Windows 2000活动目录详解
- · Windows 2000 域的备份与恢复
- · Windows Server 2003使用问答
- · 一个IP建多个Web站点--主机头名法
- · 用Windows 2003实现软RAID
- · 谈谈NETBIOS与网上邻居的浏览
- · Windows 2000活动目录--结构篇
- · 在Win2003中为 DNS 配置 Internet 访问
- · 利用安全模板定义安全策略
- · Windows 2000日志的描述及删除
- · 在Wind2003中为SNMP服务配置网络安全性
- · Windows 2000安全事件日志中的事件编号与描述
- · 终端服务Terminal Service的几个使用技巧
- · 利用组策略实现软件安全性
- · Windows Server 2003 防火墙
- · 新手配置 PHP 调试环境
- · 限制Windows用户的并发登录

