svchost.exe 应用程序详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
svchost.exe是什么?
我们知道 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 暂缺
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
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来说,不可或缺。
非常多病毒、木马也会调用他。
三、SVCHOST.EXE病毒专杀工具
SVCHOST.EXE病毒专杀工具下载:Autorun病毒防御者/AutoGuarder2下载
svchost.exe病毒专杀工具下载地址:
/download/3/6.shtml。