QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 1358|回复: 0
收起左侧

[分享] 全面瞭解系統中 svchost.exe 文件

[复制链接]
发表于 2007-2-18 02:41:08 | 显示全部楼层 |阅读模式 来自: 中国台湾

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

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

x
全面瞭解系统中 svchost.exe 档案
" T% j1 s& k6 G! s  m( J  S
1 N7 Q* z4 H" W0 b9 p笔者经常在一些反病毒论坛上浏览时,发现一些朋友对任务管理器中的svchost进度不甚瞭解,看见存在许多svchost进度就以为自己中了病毒,其实不然。
1 ?4 F: e% A+ ?9 c& H
8 ?: W  |1 Y% ]( u  d  \# ]    svchost.exe是NT核心系统非常重要的档案,对于Win2000/XP来说,不可或缺。这些svchost进度提供很多系统服务,如:rpcss服务(remote procedure call)、dmserver服务(logical disk manager)、dhcp服务(dhcp client)等等。
. P- g, d, m5 X8 Q6 I% x* ]7 |8 I% D4 R, L4 f
    若果要瞭解每个svchost进度到底提供了多少系统服务,可以在WinXP的指令提示符视窗中输入“tasklist /svc”指令来检视。; _8 T' X+ u& b! ?7 u4 f

/ \; r; w; o; i$ U) m' h8 a/ r    工作原理
! _# I! R/ A& ^, ~# B$ C! ^) g8 C* N) @, z
    一般来说,Windows系统进度分为独立进度和共享进度两种。svchost.exe档案存在于%systemroot%\system32目录下,属于共享进度。5 u9 X* d' `& z1 E& H5 u

$ [0 D3 S( ~7 d! v3 y9 T" c    随着Windows系统服务不断增多,为了节省系统资源,微软把很多服务都做成共享模式,交由svchost进度来启动。但svchost进度只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给使用者提供任何服务。" m/ ?  Z2 D- F0 ~& V8 D; B* q6 X

2 |% j2 }/ p7 P! @    这些服务是如何实现的呢?原来这些系统服务是以动态连结库(dll)形式实现的,它们把可执行程式指向svchost,由svchost呼叫相应服务的动态连结库来启动服务。
" r2 r7 ?- ?7 f& w1 j1 L' T/ [5 F7 F, v8 M% n
    那svchost又怎么知道某个系统服务该呼叫哪个动态连结库呢?这是通过系统服务在注册表中设定的参数来实现的。
3 |4 e! t8 D  h
' [+ ]/ c5 U8 {5 l( q5 }" {! l9 Y1 u     具体案例
" G+ B( c: Q$ `# P( G0 B$ {) b6 K7 Y! t
    下面以Remote Registry服务为例,来看看svchost进度是如何呼叫DLL档案的。在WinXP中,点击“开始→执行”,输入“services.msc”指令,会跳出服务对话框,然后开启“Remote Registry”属性对话框,可以看到Remote Registry服务的可执行档案的路径为“C:\Windows\System32\svchost -k LocalService”,这说明Remote Registry服务是依靠svchost呼叫“LocalService”参数来实现的,而参数的内容则是存放在系统注册表中的。2 k8 [$ q, a9 V4 L3 `5 s

6 {5 p4 K$ U# k! o6 q' y    在执行对话框中输入“regedit.exe”后Enter,开启注册表编辑器,找到“HKEY_LOCAL_MACHINE\System\currentcontrolset\services\Remote Registry”项,再找到类型为“reg_expand_sz”的“Imagepath”项,其键值为“%systemroot%\system32\svchost -k LocalService”(这就是在服务视窗中看到的服务启动指令),另外在“parameters”次基码中有个名为“ServiceDll”的键,其值为“% systemroot%\system32\regsvc.dll”,其中“regsvc.dll”就是Remote Registry服务要使用的动态连结库档案。这样svchost进度通过读取“Remote Registry”服务注册表讯息,就能启动该服务了。/ E' C- z/ E2 O' N0 u% h2 ?' K# g

, [& I! E! z: `! X7 ?& Y1 h    也正是因为svchost的重要性,所以病毒、木马也想尽办法来利用它,企图利用它的特性来迷惑使用者,达到感染、入侵、破坏的目的。那么应该如何判断到底哪个是病毒进度呢?标准的svchost.exe档案应该存在于“C:\Windows\system32”目录下,若果发现该档案出现在其他目录下就要小心了。
) \* j: Z9 Y' q) ~, v9 L7 x! I# t# J+ l& }; B, w& A: x
    提示:svchost.exe档案的呼叫路径可以通过“系统讯息→软体环境→正在执行任务”来检视
1 x( `" q7 ^, p% N- p, c
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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