QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 1285|回复: 0
收起左侧

[分享] 全面认识Svchost.exe进程

[复制链接]
发表于 2010-5-30 23:41:56 | 显示全部楼层 |阅读模式 来自: 中国北京

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
很多朋友对Svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,Windows中可以有多个Svchost.exe进程同时运行,例如Windows 2000至少有2个Svchost进程,Windows XP中有4个以上,Windows 2003中则有更多,所以当你看到多个Svchost进程时,未必就是病毒! 7 r* K; C" H5 M2 ]. M% N9 z
% {2 _6 I7 ]# y0 R2 T
http://www.vovoip.com/pc/qmrs_clip_image001.jpg
2 g* G* Y# c. Z" _* I2 s; @$ Z  q: T        " u/ X: G! D: L- j: ^: X3 y; \
  Svchost.exe进程是干什么的?
% u, ?; |3 f- g: H# K  Svchost.exe文件存在于“%system  root%\system32”(例如C:\Windows\system32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。例如Svchost.exe调用rpcss.dll文件,就会启动rpcss服务(remote procedure call)。 ' U$ D( _& N* G; z
Svchost.exe实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以用来运行动态链接库DLL文件,从而启动对应的服务。Svchost.exe进程可以同时启动多个服务。
+ {. s/ B2 t& t# c7 c8 ~) H  P$ M# d$ e. l9 K# p5 ]. h
  Svchost是如何启动系统服务的? ' g' D$ X: s- h- s
  由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向Svchost,因此Svchost只要调用某个动态链接库,即可启动对应的服务。那么Svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,因此Svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。
1 ]# f" N4 d3 K% `: R3 y+ {  下面我们以Svchost启动helpsvc(Help and Support)服务为例,介绍其启动服务的方法。在Windows XP中点击“开始”|“运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“Help and Support”服务属性对话框,可以看到helpsvc服务的可执行文件的路径为“C:\WINDOWS\System32\svchost.exe -k netsvcs” (如图2),说明helpsvc服务是依靠SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。
1 E$ K) Q/ Z! q9 V1 P
& }& ^) ^4 K8 k, Hhttp://www.vovoip.com/pc/qmrs_clip_image002.jpg
9 |3 }2 q' v3 j5 U4 V& R. J9 _         
% n. k; v1 @2 C+ @" u  在运行对话框中输入“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”服务注册表信息,就能启动该服务了。
) G2 Y/ l& j  b) j& B- X7 J( y2 d! O4 x, R$ i" Y
  Svchost到底启动了哪些服务?
* l" Y/ U3 Z( ?  如果你想了解每个SVCHOST进程当前到底提供了哪些系统服务,可以在命令提示符下输入命令来查看。例如在Windows XP中,打开“命令提示符”,键入tasklist /svc命令查看;在Windows 2000中,则输入“Tlist -S”命令来查看。
' q9 D" e# N) S6 q; p) o0 _1 D
5 [0 c4 s1 @: @: @' g  如果你在Windows XP中,想得到所有进程的详细信息,可以打开“命令提示符”,键入  tasklist /svc>abc.txt 命令,于是在当前目录中,将会生成一个abc.txt文件,其内容就是当前正在运行的所有进程情况,例如进程名、PID号、该进程启动了哪些服务。
* t6 C  J4 q6 r8 S* X( a7 l
4 H" i+ ^9 `( L; O+ [' `3 M( u  如何发现Svchost进程有问题? 2 t/ W2 J$ X9 C% s# S3 a
  由于Svchost进程可以启动各种服务,因此病毒、木马也经常伪装成系统的DLL文件,使Svchost调用它,从而进入内存中运行、感染和控制电脑。
2 X2 m0 Q: C0 \# N) f7 c) @- H3 z4 X- [4 _, ~4 Q' B3 t4 R1 D
  建议你使用“Windows优化大师”进程管理器(可以到《个人电脑》的下载频道http://download.pcpro.com.cn的“系统工具”中去下载),查看所有Svchost进程的执行文件路径(如图3),正常的Svchost文件应该存在于“c:\Windows\system32”目录下,如果你发现其执行路径在其他目录下,就有可能染上了病毒或木马了,应该马上进行检测和处理。 + B5 w2 k; ^" @# @! b: [
3 c; r2 M& k9 ?4 X, U! |$ t
http://www.vovoip.com/pc/qmrs_clip_image003.jpg
  f- G3 l- P; N        
, Z# `( }4 T4 J$ J- d  Svchost进程杀不掉怎么办? 9 {1 H, x. \) ~4 Z4 u
  如果有些Svchost进程,你在任务管理器中无法关闭之,可以使用ntsd命令来杀掉它,方法如下: : X& A' X( K1 v0 z4 [8 ^% ~
  首先需要了解欲杀的Svchost进程,其PID是多少?在Windows XP下,按Ctrl+Alt+Del打开任务管理器,点击“进程选项卡”|“查看”|“选择列”,在弹出的窗口中(图4),勾选“PID(进程标识符)”,然后回到任务管理器中,即可看见PID了(例如要杀的Svchost进程,其PID是844)。
' R: R$ K$ g' {0 S9 h' {- l( W
' a8 W  g5 @3 c* u6 j6 W4 Fhttp://www.vovoip.com/pc/qmrs_clip_image004.jpg8 D- p5 O2 S8 H- r
            
2 [) R) w$ J# ]1 o6 N1 q  接下来关闭该进程。点击“开始”|“程序”|“附件”|“命令提示符”,在命令提示符下,输入命令ntsd -c q -p 844即可杀掉Svchost进程(PID是844)。
8 i1 U' u/ `' Z5 }  小提示:除了System、SMSS.EXE和CSRSS.EXE这三个进程,ntsd命令可以杀掉任何一个系统进程。从Windows 2000开始,微软就提供了ntsd工具,该命令执行后,可让你获得系统的debug权,因此能够用来关闭大部分的系统进程,如果你遇到无法关闭的进程,就可以使用该命令,其杀进程的命令格式为:ntsd -c q –p  XXX
# a- D! n/ I% B: g( M) ^7 O4 u以上XXX为欲杀进程的PID;
! Z( y, @8 m; v, H7 G; P% o$ ?ntsd  –p  XXX   表示在调试器中打开某进程(PID为XXX); 5 a( r9 u. F2 H& `% N
而-c q参数则表示退出调试器。由于调试器关闭之后,它打开的进程会随调试器一起退出,因此ntsd命令能够关闭进程。

评分

参与人数 1三维币 -5 收起 理由
hoopoe -5 老会员了,请先仔细阅读本版置顶帖

查看全部评分

发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表