
我们知道 Windows 和 Windows 的应用软件都 要使用大量的 DLL(Dynamic Link Libraries,动态链接库)文件,这些 DLL文 件一般都要向Windows申请各种各样的Service(服务),而Svchost. exe 就是其中一些服务的通用管理进程名(Generic Host Process Name),简单的说,Svchost.exe是这些服务的总称。每一个Svchost. exe 进程以一个 Group(组)的方式分组管理各种服务,每一个 Svchost.exe服务。Windows XP 中可以有多个 Svchost.exe 进程同时运行,之 所以这样设计是为了更为方便地分类控制和调试各个进程和服务。 Svchost.exe在Windows XP的系统目录\Windows\System32\ 下,在启动的时候,Svchost.exe根据注册表中的相关信息建立一个 服务列表并根据这个列表加载相关的服务。一般来说,Svchost.exe 总是根据 HKEY_LOCAL_MACHINE\Software\Microsoft \WindowsNT\CurrentVersion\Svchost下面的键值分组管理DLL 申请的服务,这里的每一键值对应一个独立的Svchost.exe进程,也 就是说这里的键值就是在任务管理器中我们看到的Svchost.exe进程。 当然,由于这里的键值并不是一次性全部加载,而是根据需要才加 载,因此这里的键值数要多于在任务管理器中看到的Svchost.exe进程数,而每个Svchost.exe进程所包含的服务名、参数值和DLL则来 自 HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\ Service这个键值。在任务管理器中只能看到Svchost.exe进程而看不到该进程所包 含的服务,要想了解每个 Svchost.exe 进程下到底有什么服务就需要使用别的方法。选择 Windows XP任务栏上的 “开始 / 运行”,输入“CMD ”并回车,打开 Windows XP 的命令行窗口,输入“Tasklist / SVC”并回车就可以看到每个 Svchost.exe进程及 其所包含的各种服务(如图),其中 Image Name (映像名)是进程的名称,PID(Process ID)是进 程标识,以数字形式表示,Services(服务)就是 进程所包含的各种服务。可惜的是Tasklist只显示 各种服务的缩写而不是全称,对于这些缩写一般只 有对Windows系统内核十分了解的程序员才能明 白其真正意义,它们主要是指网络、域名缓存、远 程控制和应用程序接口等服务,当然普通的电脑用 户也没必要去过多的了解这些十分专业的名称。如 果用户还想进一步了解每个进程调用的DLL文件, 可以使用“Tasklist /M”这个命令。使用Tasklist 还可查看指定进程的情况,例如想要查看 PID 为728 的进程的情况,可以使用命令“Tasklist /FI "PID eq 728"”。 Tasklist还有许多命令参数,对它感兴趣的用户可以使用Tasklist /?得到详细的帮助信息。 另外补充一点,其实 Svchost.exe 早在Windows 2000 就已存在,只是作用没有在 Windows XP中这么明显,所以在Windows 2000 时代很少有人注意它的存在。在Windows 2000中 查看各个进程及服务的命令为“tlist -s”,查看指 定进程及服务的命令是“tlist PID”。svchost.exe病毒清除办法一、手工清除SVCHOST.EXE病毒查看:svchost.exe进程是什么在开始菜单的运行中输入cmd,出现命令行提示,输入命令“tasklist /svc >c:\1.txt”(例如:C:\Documents and Settings\Administrator>tasklist /svc >c:\1.txt),就会在C盘根目录生成1.txt文件,打开1.txt能看到如下内容:查找svchost.exe的PID值和服务名称。
******************************************************************************
图像名 PID 服务
========================= ====== =============================================
System Idle Process 0 暂缺
System 4 暂缺
smss.exe 1168 暂缺
csrss.exe 1228 暂缺
winlogon.exe 1260 暂缺
services.exe 1308 Eventlog, PlugPlay
lsass.exe 1320 PolicyAgent, ProtectedStorage, SamSs
ibmpmsvc.exe 1484 IBMPMSVC
ati2evxx.exe 1520 Ati HotKey Poller
svchost.exe 1544 DcomLaunch, TermService
svchost.exe 1684 RpcSs
svchost.exe 380 AudioSrv, BITS, Browser, CryptSvc, Dhcp,
EventSystem, FastUserSwitchingCompatibility,
helpsvc, lanmanserver, lanmanworkstation,
Netman, Nla, RasMan, Schedule, seclogon,
SENS, SharedAccess, ShellHWDetection,
TapiSrv, Themes, TrkWks, W32Time, winmgmt,
wscsvc, wuauserv, WZCSVC
btwdins.exe 420 btwdins
ati2evxx.exe 456 暂缺
EvtEng.exe 624 EvtEng
S24EvMon.exe 812 S24EventMonitor
svchost.exe 976 Dnscache
svchost.exe 1192 Alerter, LmHosts, RemoteRegistry, SSDPSRV,
WebClient
spoolsv.exe 1852 Spooler
IPSSVC.EXE 272 IPSSVC
AcPrfMgrSvc.exe 288 AcPrfMgrSvc
guard.exe 1064 AVG Anti-Spyware Guard
avp.exe 1124 AVP
mDNSResponder.exe 1284 Bonjour Service
inetinfo.exe 1848 IISADMIN, W3SVC
ibguard.exe 3464 InterBaseGuardian
RegSrvc.exe 3556 RegSrvc
svchost.exe 3596 stisvc
SUService.exe 3968 SUService
TPHDEXLG.exe 3788 TPHDEXLGSVC
TpKmpSvc.exe 3804 TpKmpSVC
tvtsched.exe 3836 TVT Scheduler
wdfmgr.exe 3920 UMWdf
vmware-authd.exe 3956 VMAuthdService
vmount2.exe 3576 vmount2
vmnat.exe 4112 VMware NAT Service
vmnetdhcp.exe 4360 VMnetDHCP
AcSvc.exe 4388 AcSvc
ibserver.exe 4684 InterBaseServer
explorer.exe 5416 暂缺
alg.exe 5704 ALG
SynTPEnh.exe 3776 暂缺
SvcGuiHlpr.exe 4912 暂缺
TPHKMGR.exe 5088 暂缺
UNavTray.exe 5120 暂缺
TpShocks.exe 5136 暂缺
TPONSCR.exe 4532 暂缺
avp.exe 4648 暂缺
TpScrex.exe 4412 暂缺
CRavgas.exe 5196 暂缺
ctfmon.exe 5284 暂缺
VStart.exe 6020 暂缺
QQ.exe 6124 暂缺
TXPlatform.exe 5584 暂缺
dllhost.exe 4164 COMSysApp
davcdata.exe 1232 暂缺
Maxthon.exe 2212 暂缺
EmEditor.exe 2004 暂缺
cmd.exe 6360 暂缺
conime.exe 2928 暂缺
wmiprvse.exe 5552 暂缺
tasklist.exe 1900 暂缺
******************************************************************************如果看到哪个Svchost.exe进程后面提示的服务信息是“暂缺”,而不是个具体的服务名,那么他就是病毒进程了,记下这个病毒进程对应的PID数值(进程标识符),即可在任务管理器的进程列表中找到他,结束进程后,在C盘搜索Svchost.exe文件,也能用第三方进程工具直接查看该进程的路径,正常的Svchost.exe文件是位于%systemroot%\System32目录中的,而假冒的Svchost.exe病毒或木马文件则会在其他目录,例如“w32.welchina.worm”病毒假冒的Svchost.exe就隐藏在视窗系统\System32\Wins目录中,将其删除,并完全清除病毒的其他数据即可。
二、SVCHOST.EXE病毒高级骗术一些高级病毒则采用类似系统服务启动的方式,通过真正的Svchost.exe进程加载病毒程式,而Svchost.exe是通过注册表数据来决定要装载的服务列表的,所以病毒通常会在注册表中采用以下方法进行加载: 添加一个新的服务组,在组里添加病毒服务名在现有的服务组里直接添加病毒服务名 修改现有服务组里的现有服务属性,修改其“ServiceDll”键值指向病毒程式判断方法:病毒程式要通过真正的Svchost.exe进程加载,就必须要修改相关的注册表数据,能打开[HKEY_LOCAL_MACHINE\Software\Microsoft\视窗系统NT\ CurrentVersion\Svchost],观察有没有增加新的服务组,同时要留意服务组中的服务列表,观察有没有可疑的服务名称,通常来说,病毒不会在只有一个服务名称的组中添加,往往会选择LocalService和netsvcs这两个加载服务较多的组,以干扰分析,更有通过修改服务属性指向病毒程式的,通过注册表判断起来都比较困难,这时能利用前面介绍的服务管理专家,分别打开LocalService和netsvcs分支,逐个检查右边服务列表中的服务属性,尤其要注意服务描述信息全部为英文的,非常可能是第三方安装的服务,同时要结合他的文件描述、版本、公司等相关信息,进行综合判断。例如这个名为PortLess BackDoor的木马程式,在服务列表中能看到他的服务描述为“Intranet Services”,而他的文件版本、公司、描述信息更全部为空,如果是微软的系统服务程式是绝对不可能出现这种现象的。从启动信息“C:\WINDOWS\System32\svchost.exe -k netsvcs”中能看出这是一款典型的利用Svchost.exe进程加载运行的木马,知道了其原理,清除方法也非常简单了:先用服务管理专家停止该服务的运行,然后运行regedit.exe打开“注册表编辑器”,删除[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IPRIP]主键,重新启动计算机,再删除%systemroot%\System32目录中的木马源程式“svchostdll.dll”,通过按时间排序,又发现了时间完全相同的木马安装程式“PortlessInst.exe”,一并删除即可。 svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。非常多病毒、木马也会调用他。
暂缺就是病毒也不妥啊,现在还有一些可以对照程序签名的,还有一些查看scvhost里边启动的程序历程所在的dll来判断的。这些都不能不说。对照程序签名可以看看用一些工具软件。全自动对照签名是否正确。
[查看全文]