问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SVCHOST.EXE有两个怎么办?

发布网友 发布时间:2022-05-02 20:19

我来回答

5个回答

热心网友 时间:2022-06-26 19:55

进程文件: svchost.dll

进程名称: Trojan.W32.Agent

英文描述:
svchost.dll is a mole which is registered as a trojan. This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data. This process is a security risk and should be removed from your system.

进程分析:
svchost.exe是一个属于微软Windows操作系统的系统程序,用于执行DLL文件。这个程序对你系统的正常运行是非常重要的。注意:svchost.exe也有可能是W32.Welchia.Worm病毒,它利用WindowsLSASS漏洞,制造缓冲区溢出,导致你计算机关机。更多详细信息参考:http://www.microsoft.com/technet/security/bulletin/ms04-011.mspx,该进程的安全等级是建议立即删除。

安全等级 (0-5): N/A (N/A无危险 5最危险)
间碟软件: 否
广告软件: 否
病毒: 否
木马: 否

系统进程: 否
应用程序: 否
后台程序: 是
使用访问: 是
访问互联网: 是

大家都要知道Svchost.exe,是系统必不可少的一个进程,很多服务都会多多少少用到它,但是我想大家也知道,由于它本身特殊性,高明的"黑客们"肯定是不会放过的,前段时间的Svchost.exe木马风波,大家应该是记忆犹新吧,而且现在还是有很多机器里都藏有此木马,因为它伪装和系统进程Svchost.exe一样,所以很多人分不清,那个是进程,那个是木马....

好的,还是让我们详尽了解一下Svchost.exe进程吧

1.多个服务共享一个 Svchost.exe进程利与弊

windows 系统服务分为独立进程和共享进程两种,在windows NT时只有服务器管理器SCM(Services.exe)有多个共享服务,随着系统内置服务的增加,在windows 2000中ms又把很多服务做成共享方式,由svchost.exe启动。windows 2000一般有2个svchost进程,一个是RPCSS(Remote Procere Call)服务进程,另外一个则是由很多服务共享的一个svchost.exe。而在windows XP中,则一般有4个以上的svchost.exe服务进程,windows 2003 server中则更多,可以看出把更多的系统内置服务以共享进程方式由svchost启动是ms的一个趋势。这样做在一定程度上减少了系统资源的消耗,不过也带来一定的不稳定因素,因为任何一个共享进程的服务因为错误退出进程就会导致整个进程中的所有服务都退出。另外就是有一点安全隐患,首先要介绍一下svchost.exe的实现机制。

2. Svchost原理

Svchost本身只是作为服务宿主,并不实现任何服务功能,需要Svchost启动的服务以动态链接库形式实现,在安装这些服务时,把服务的可执行程序指向svchost,启动这些服务时由svchost调用相应服务的动态链接库来启动服务。

那么svchost如何知道某一服务是由哪个动态链接库负责呢?这不是由服务的可执行程序路径中的参数部分提供的,而是服务在注册表中的参数设置的,注册表中服务下边有一个Parameters子键其中的ServiceDll表明该服务由哪个动态链接库负责。并且所有这些服务动态链接库都必须要导出一个ServiceMain()函数,用来处理服务任务。

例如rpcss(Remote Procere Call)在注册表中的位置是 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs,它的参数子键Parameters里有这样一项:

"ServiceDll"=REG_EXPAND_SZ:"%SystemRoot%system32 pcss.dll"
当启动rpcss服务时,svchost就会调用rpcss.dll,并且执行其ServiceMain()函数执行具体服务。

既然这些服务是使用共享进程方式由svchost启动的,为什么系统中会有多个svchost进程呢?ms把这些服务分为几组,同组服务共享一个svchost进程,不同组服务使用多个svchost进程,组的区别是由服务的可执行程序后边的参数决定的。
例如rpcss在注册表中 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs 有这样一项:

"ImagePath"=REG_EXPAND_SZ:"%SystemRoot%system32svchost -k rpcss"

因此rpcss就属于rpcss组,这在服务管理控制台也可以看到。

svchost的所有组和组内的所有服务都在注册表的如下位置: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost,例如windows 2000共有4组rpcss、netsvcs、wugroup、BITSgroup,其中最多的就是netsvcs=REG_MULTI_SZ:EventSystem.Ias.Iprip.Irmon.Netman.

Nwsapagent.Rasauto.Rasman.Remoteaccess.SENS.Sharedaccess.Tapisrv.Ntmssvc.wzcsvc..

在启动一个svchost.exe负责的服务时,服务管理器如果遇到可执行程序内容ImagePath已经存在于服务管理器的映象库中,就不在启动第2个进程svchost,而是直接启动服务。这样就实现了多个服务共享一个svchost进程。

3. Svchost代码

现在我们基本清楚svchost的原理了,但是要自己写一个DLL形式的服务,由svchost来启动,仅有上边的信息还有些问题不是很清楚。比如我们在导出的ServiceMain()函数中接收的参数是ANSI还是Unicode?我们是否需要调用RegisterServiceCtrlHandler和StartServiceCtrlDispatcher来注册服务控制及调度函数?

这些问题要通过查看svchost代码获得。下边的代码是windows 2000+ service pack 4 的svchost反汇编片段,可以看出svchost程序还是很简单的。

主函数首先调用ProcCommandLine()对命令行进行分析,获得要启动的服务组,然后调用SvcHostOptions()查询该服务组的选项和服务组的所有服务,并使用一个数据结构 svcTable 来保存这些服务及其服务的DLL,然后调用PrepareSvcTable() 函数创建 SERVICE_TABLE_ENTRY 结构,把所有处理函数SERVICE_MAIN_FUNCTION 指向自己的一个函数FuncServiceMain(),最后调用API StartServiceCtrlDispatcher() 注册这些服务的调度函数。

; =============================== Main Funcion =======================================
.text:010010B8 public start
.text:010010B8 start proc near
.text:010010B8 push esi
.text:010010B9 push edi
.text:010010BA push offset sub_1001EBA ; lpTopLevelExceptionFilter
.text:010010BF xor edi, edi
.text:010010C1 call ds:SetUnhandledExceptionFilter
.text:010010C7 push 1 ; uMode
.text:010010C9 call ds:SetErrorMode
.text:010010CF call ds:GetProcessHeap
.text:010010D5 push eax
.text:010010D6 call sub_1001142
.text:010010DB mov eax, offset dword_1003018
.text:010010E0 push offset unk_1003000 ; lpCriticalSection
.text:010010E5 mov dword_100301C, eax
.text:010010EA mov dword_1003018, eax
.text:010010EF call ds:InitializeCriticalSection
.text:010010F5 call ds:GetCommandLineW
.text:010010FB push eax ; lpString
.text:010010FC call ProcCommandLine
.text:01001101 mov esi, eax
.text:01001103 test esi, esi
.text:01001105 jz short lab_doservice
.text:01001107 push esi
.text:01001108 call SvcHostOptions
.text:0100110D call PrepareSvcTable
.text:01001112 mov edi, eax ; SERVICE_TABLE_ENTRY returned
.text:01001114 test edi, edi
.text:01001116 jz short loc_1001128
.text:01001118 mov eax, [esi+10h]
.text:0100111B test eax, eax
.text:0100111D jz short loc_1001128
.text:0100111F push dword ptr [esi+14h] ; dwCapabilities
.text:01001122 push eax ; int
.text:01001123 call InitializeSecurity
.text:01001128
.text:01001128 loc_1001128: ; CODE XREF: start+5Ej
.text:01001128 ; start+65j
.text:01001128 push esi ; lpMem
.text:01001129 call HeapFreeMem
.text:0100112E
.text:0100112E lab_doservice: ; CODE XREF: start+4Dj
.text:0100112E test edi, edi
.text:01001130 jz ExitProgram
.text:01001136 push edi ; lpServiceStartTable
.text:01001137 call ds:StartServiceCtrlDispatcherW
.text:0100113D jmp ExitProgram
.text:0100113D start endp
; =============================== Main Funcion end ===========================================
由于svchost为该组的所有服务都注册了svchost中的一个处理函数,因此每次启动任何一个服务时,服务管理器SCM都会调用FuncServiceMain() 这个函数。这个函数使用 svcTable 查询要启动的服务使用的DLL,调用DLL导出的ServiceMain()函数来启动服务,然后返回。
; ============================== FuncServiceMain() ===========================================
.text:01001504 FuncServiceMain proc near ; DATA XREF: PrepareSvcTable+44o
.text:01001504
.text:01001504 arg_0 = dword ptr 8
.text:01001504 arg_4 = dword ptr 0Ch
.text:01001504
.text:01001504 push ecx
.text:01001505 mov eax, [esp+arg_4]
.text:01001509 push ebx
.text:0100150A push ebp
.text:0100150B push esi
.text:0100150C mov ebx, offset unk_1003000
.text:01001511 push edi
.text:01001512 mov edi, [eax]
.text:01001514 push ebx
.text:01001515 xor ebp, ebp
.text:01001517 call ds:EnterCriticalSection
.text:0100151D xor esi, esi
.text:0100151F cmp dwGroupSize, esi
.text:01001525 jbe short loc_1001566
.text:01001527 and [esp+10h], esi
.text:0100152B
.text:0100152B loc_100152B: ; CODE XREF: FuncServiceMain+4Aj
.text:0100152B mov eax, svcTable
.text:01001530 mov ecx, [esp+10h]
.text:01001534 push dword ptr [eax+ecx]
.text:01001537 push edi
.text:01001538 call ds:lstrcmpiW
.text:0100153E test eax, eax
.text:01001540 jz short StartThis
.text:01001542 add dword ptr [esp+10h], 0Ch
.text:01001547 inc esi
.text:01001548 cmp esi, dwGroupSize
.text:0100154E jb short loc_100152B
.text:01001550 jmp short loc_1001566
.text:01001552 ; =================================================
.text:01001552
.text:01001552 StartThis: ; CODE XREF: FuncServiceMain+3Cj
.text:01001552 mov ecx, svcTable
.text:01001558 lea eax, [esi+esi*2]
.text:0100155B lea eax, [ecx+eax*4]
.text:0100155E push eax
.text:0100155F call GetDLLServiceMain
.text:01001564 mov ebp, eax ; dll ServiceMain Function address
.text:01001566
.text:01001566 loc_1001566: ; CODE XREF: FuncServiceMain+21j
.text:01001566 ; FuncServiceMain+4Cj
.text:01001566 push ebx
.text:01001567 call ds:LeaveCriticalSection
.text:0100156D test ebp, ebp
.text:0100156F jz short loc_100157B
.text:01001571 push [esp+10h+arg_4]
.text:01001575 push [esp+14h+arg_0]
.text:01001579 call ebp
.text:0100157B
.text:0100157B loc_100157B: ; CODE XREF: FuncServiceMain+6Bj
.text:0100157B pop edi
.text:0100157C pop esi
.text:0100157D pop ebp
.text:0100157E pop ebx
.text:0100157F pop ecx
.text:01001580 retn 8
.text:01001580 FuncServiceMain endp ; sp = -8
; ============================== FuncServiceMain() end ========================================

由于svchost已经调用了StartServiceCtrlDispatcher来服务调度函数,因此我们在实现DLL实现时就不用了,这主要是因为一个进程只能调用一次StartServiceCtrlDispatcher API。但是需要用 RegisterServiceCtrlHandler 来注册响应控制请求的函数。最后我们的DLL接收的都是unicode字符串。

由于这种服务启动后由svchost加载,不增加新的进程,只是svchost的一个DLL,而且一般进行审计时都不会去HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost 检查服务组是否变化,就算去检查,也不一定能发现异常,因此如果添加一个这样的DLL后门,伪装的好,是比较隐蔽的。

4. 安装服务与设置

要通过svchost调用来启动的服务,就一定要在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost下有该服务名,这可以通过如下方式来实现:

1) 添加一个新的服务组,在组里添加服务名
2) 在现有组里添加服务名
3) 直接使用现有服务组里的一个服务名,但本机没有安装的服务
4) 修改现有服务组里的现有服务,把它的ServiceDll指向自己

其中前两种可以被正常服务使用,如使用第1种方式,启动其服务要创建新的svchost进程;第2种方式如果该组服务已经运行,安装后不能立刻启动服务,因为svchost启动后已经把该组信息保存在内存里,并调用API StartServiceCtrlDispatcher() 为该组所有服务注册了调度处理函数,新增加的服务不能再注册调度处理函数,需要重起计算机或者该组的svchost进程。而后两种可能被后门使用,尤其是最后一种,没有添加服务,只是改了注册表里一项设置,从服务管理控制台又看不出来,如果作为后门还是很隐蔽的。比如EventSystem服务,缺省是指向es.dll,如果把ServiceDll改为EventSystem.dll就很难发现。

因此服务的安装除了调用CreateService()创建服务之外,还需要设置服务的ServiceDll,如果使用前2种还要设置svchost的注册表选项,在卸载时也最好删除增加的部分。

注: ImagePath 和ServiceDll 是ExpandString不是普通字符串。因此如果使用.reg文件安装时要注意。

5. DLL服务实现

DLL程序的编写比较简单,只要实现一个ServiceMain()函数和一个服务控制程序,在ServiceMain()函数里用RegisterServiceCtrlHandler()注册服务控制程序,并设置服务的运行状态就可以了。

另外,因为此种服务的安装除了正常的CreateService()之外,还要进行其他设置,因此最好实现安装和卸载函数。

为了方便安装,实现的代码提供了InstallService()函数进行安装,这个函数可以接收服务名作为参数(如果不提供参数,就使用缺省的iprip),如果要安装的服务不在svchost的netsvcs组里安装就会失败;如果要安装的服务已经存在,安装也会失败;安装成功后程序会配置服务的ServiceDll为当前Dll。提供的UninstallService()函数,可以删除任何函数而没有进行任何检查。

为了方便使用rundll32.exe进行安装,还提供了RundllInstallA()和RundllUninstallA()分别调用InstallService()及UninstallService()。因为rundll32.exe使用的函数原型是:

void CALLBACK FunctionName(
HWND hwnd, // handle to owner window
HINSTANCE hinst, // instance handle for the DLL
LPTSTR lpCmdLine, // string the DLL will parse
int nCmdShow // show state
);
对应的命令行是rundll32 DllName,FunctionName [Arguments]

DLL服务本身只是创建一个进程,该程序命令行就是启动服务时提供的第一个参数,如果未指定就使用缺省的svchostdll.exe。启动服务时如果提供第二个参数,创建的进程就是和桌面交互的。
6

svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。很多病毒、木马也会调用它。所以,深入了解这个程序,是玩电脑的必修课之一。
大家对windows操作系统一定不陌生,但你是否注意到系统中“svchost.exe”这个文件呢?细心的朋友会发现windows中存在多个 “svchost”进程(通过“ctrl+alt+del”键打开任务管理器,这里的“进程”标签中就可看到了),为什么会这样呢?下面就来揭开它神秘的面纱。
发现
在基于nt内核的windows操作系统家族中,不同版本的windows系统,存在不同数量的“svchost”进程,用户使用“任务管理器”可查看其进程数目。一般来说,win2000有两个svchost进程,winxp中则有四个或四个以上的svchost进程(以后看到系统中有多个这种进程,千万别立即判定系统有病毒了哟),而win2003 server中则更多。这些svchost进程提供很多系统服务,如:rpcss服务(remote procere call)、dmserver服务(logical disk manager)、dhcp服务(dhcp client)等。
如果要了解每个svchost进程到底提供了多少系统服务,可以在win2000的命令提示符窗口中输入“tlist -s”命令来查看,该命令是win2000 support tools提供的。在winxp则使用“tasklist /svc”命令。
svchost中可以包含多个服务
深入
windows系统进程分为独立进程和共享进程两种,“svchost.exe”文件存在于“%systemroot% system32”目录下,它属于共享进程。随着windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由 svchost.exe进程来启动。但svchost进程只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给用户提供任何服务。那这些服务是如何实现的呢?
原来这些系统服务是以动态链接库(dll)形式实现的,它们把可执行程序指向 svchost,由svchost调用相应服务的动态链接库来启动服务。那svchost又怎么知道某个系统服务该调用哪个动态链接库呢?这是通过系统服务在注册表中设置的参数来实现。下面就以rpcss(remote procere call)服务为例,进行讲解。
从启动参数中可见服务是靠svchost来启动的。
实例
以windows xp为例,点击“开始”/“运行”,输入“services.msc”命令,弹出服务对话框,然后打开“remote procere call”属性对话框,可以看到rpcss服务的可执行文件的路径为“c:\windows\system32\svchost -k rpcss”,这说明rpcss服务是依靠svchost调用“rpcss”参数来实现的,而参数的内容则是存放在系统注册表中的。
在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]项,找到类型为“reg_expand_sz”的键“magepath”,其键值为“%systemroot%system32svchost -k rpcss”(这就是在服务窗口中看到的服务启动命令),另外在“parameters”子项中有个名为“servicedll”的键,其值为“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服务要使用的动态链接库文件。这样 svchost进程通过读取“rpcss”服务注册表信息,就能启动该服务了。
解惑
因为svchost进程启动各种服务,所以病毒、木马也想尽办法来利用它,企图利用它的特性来迷惑用户,达到感染、入侵、破坏的目的(如冲击波变种病毒“w32.welchia.worm”)。但windows系统存在多个svchost进程是很正常的,在受感染的机器中到底哪个是病毒进程呢?这里仅举一例来说明。
假设windows xp系统被“w32.welchia.worm”感染了。正常的svchost文件存在于“c:\windows\system32”目录下,如果发现该文件出现在其他目录下就要小心了。“w32.welchia.worm”病毒存在于“c:\windows\system32wins”目录中,因此使用进程管理器查看svchost进程的执行文件路径就很容易发现系统是否感染了病毒。windows系统自带的任务管理器不能够查看进程的路径,可以使用第三方进程管理软件,如“windows优化大师”进程管理器,通过这些工具就可很容易地查看到所有的svchost进程的执行文件路径,一旦发现其执行路径为不平常的位置就应该马上进行检测和处理。
由于篇幅的关系,不能对svchost全部功能进行详细介绍,这是一个windows中的一个特殊进程,有兴趣的可参考有关技术资料进一步去了解它。

热心网友 时间:2022-06-26 19:55

XP下一般会有5-6个svchost随机启动运行,有的是在联局域网,有的在检测更新,所以刚开机时是很慢的,没什么用的,建议关闭检测更新的那个,以后半月手动更新一次就行了。就这个最占CPU达100%。说实话咱一个小老百姓没什么更新的必要,关闭方法如下:
打开控制面板==>管理工具==>服务,找到"Automatic Updates"(或者是自动更新),将其停止,并且设置为手动启动,然后再删除 C:\WINDOWS\SoftwareDistribution。问题就解决了。本人亲测无害!

热心网友 时间:2022-06-26 19:56

在Windows2000系统中一般存在2个svchost.exe进程,一个是RPCSS(RemoteProcereCall)服务进程,另外一个则是由很多服务共享的一个svchost.exe;而在WindowsXP中,则一般有4个以上的svchost.exe服务进程。如果svchost.exe进程的数量多于5个,就要小心了,很可能是病毒假冒的,检测方法也很简单,使用一些进程管理工具,例如Windows优化大师的进程管理功能,查看svchost.exe的可执行文件路径,如果在“C:\WINDOWS\system32”目录外,那么就可以判定是病毒了

参考资料:百度百科

热心网友 时间:2022-06-26 19:56

vchost.exe、lsass.exe、wdfmgr.exe,打开进程列表后你会发现一大堆不知用途的进程,究竟是系统进程还是木马病毒?如果打开系统文件夹,一大堆奇奇怪怪名称的文件,更是会把你弄得晕头转向。很多朋友因此而始终抱有一种未知的恐惧,认为木马、黑客无处不在,即使是高手,也不能把这些陌生的系统文件说个明明白白。为消除大家的疑惑,从这期开始为大家带来一档新的连载栏目——系统蓝色档案为大家曝光这些隐秘文件的秘密。两位主人公,现在就来认识一下。

主人公介绍

小菜:刚接触电脑不久的菜鸟,但对电脑知识有着非常浓厚的学习兴趣,常说的一句话是“菜鸟先飞”。

大嘴:乐于助人的老鸟,经常被别人冠以“大嘴高手”称号,不过这并不是指他嘴特别大,而是一谈到电脑知识就滔滔不绝。

一、紧急状况:系统发现严重病毒

小菜刚刚学习了进程的概念和知识,于是就打开“任务管理器”观察系统中的进程,这一看不要紧,还真发现了一个“病毒”Svchost.exe,这家伙在系统进程列表中竟然有5个之多(见图1),于是小菜就逐个结束这些进程,没想到第二个进程结束后还会再生,而结束第四个进程时更离谱,系统提示“系统即将关机,离关机还有60秒”,进程再生、错误提示,这些典型的病毒“症状”更让小菜相信“Svchost.exe”是病毒无疑,但无法结束进程,又该怎么清除病毒呢?小菜只好请来了大嘴。

图1 数量众多的SVCHOST进程

大嘴过来后还没看电脑,就先告诉小菜,系统中的Svchost.exe进程是正常系统进程,不是病毒,不仅仅是你,其他朋友一看到系统中这么多的 Svchost.exe进程,第一反应也感觉它是病毒,虽然系统中有多个Svchost.exe进程是正常的,但也不保证都是正常的。听起来似乎有些矛盾?这让小菜更有些迷糊,大嘴坐下后给小菜详细讲了起来。

二、松了口气:Svchost.exe是台“CD机”

1.服务装在“CD机”里

Svchost.exe是NT内核*作系统(Windows 2000/XP/2003都属于NT内核*作系统)独有的进程,“Svchost”其实就是“Service Host”(服务宿主)的缩写。微软官方对它的定义是:Svchost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称,通俗讲,它就是一个服务装载器。大家可以把每个服务想象成一张音乐CD,而Svchost.exe就是用来播放这种CD的CD机。

2.为什么用“CD机”装服务

由于Windows 2000/XP系统服务越来越多,以EXE单独进程的形式启动所有服务会大大增加系统负担,为节省系统资源,微软将一些系统服务以动态链接库(DLL)形式实现,而Svchost.exe就是用来装载这些DLL文件以启动系统服务的程序。没有人会为了发行一张CD而制作一台专用播放此CD的CD机,微软也一样。

3.系统里有几台这样的“CD机”

那为什么系统进程列表中的Svchost.exe会有多个呢?微软为了让系统能更好地进行服务控制,就允许多个Svchost.exe进程同时运行,每个 Svchost.exe进程可以包含一组服务,想像一下可以同时容纳3张甚至更多CD的多碟CD机。打开注册表[HKEY_LOCAL_MACHINE\ Software\Microsoft\Windows NT\CurrentVersion\Svchost]主键,在窗口右侧可以看到许多键值,这里的每个键值都代表一组服务,键值数据则包含了该组服务下面运行的服务名称列表,每组服务启动时都会通过单独的Svchost.exe进程来装载。Windows XP中默认共有六组服务(见图2),其中imgsvc、NetworkService、rpcss、termsvcs四个组,它们都只有一个服务运行,这些服务启动后的Svchost.exe进程用户名为“SYSTEM”。而LocalService和netsvcs组都启动了多个服务,它们的 Svchost.exe进程用户名分别为“LOCAL SERVICE”和“NETWORD SERVICE”,从图1中可以看到这种区别。

图2 众多svchost进程的区别

当然了,这六组服务通常并不都是启动状态的,根据系统启动的服务不同,反映在系统进程列表中的Svchost.exe进程数量也是不同的,Windows XP会有四个到六个Svchost.exe进程,而Windows 2000通常则会有两个Svchost.exe进程。

小提示:点击“开始→运行”,在运行框中输入“CMD”回车,然后在打开的命令行窗口中输入“Tasklist /svc”(不含引号)命令,可以更直观地看到每个Svchost.exe进程装载的服务名称列表(见图3)。

图3 查看svchost进程装载的服务名称

4.获取每张“CD”的详细信息

如果想更进一步了解Svchost.exe装载的这些服务都是什么功能,可以记下键值数据中的服务名称,例如“RpcSs”,接着打开注册表的 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services],再打开下面的“RpcSs”子键,在右边的“Description”键值中就可以看到该服务的描述,而在“ImagePath”键值数据中则可以看到这个服务的运行命令正是“% SystemRoot%\system32\svchost -k rpcss”(见图4)。而在“RpcSs”子键下还有一个“Parameters”(参数)子键,其右边的“ServiceDll”键值数据“% SystemRoot%\system32\rpcss.dll”则表明了RpcSs服务启动时调用的是系统目录下的“Rpcss.dll”文件,这就好像你原来只知道CD中歌曲的歌名,现在又让你能够查到这首歌的演唱者。

图4 查看svchost的具体功能

如果觉得通过注册表查询服务名称了解其属性不太方便,也可以使用“全能助手用Windows服务管理专家”(以下简称“服务管理专家”)来查询,运行软件后单击“All Win32 Services”分支,在右侧服务列表中根据服务名称索引即可快速找到要查询的服务,单击服务名称,即可看到该服务的启动命令以及调用的DLL文件等相关信息(见图5)。同时软件还专门设计了Svchost Group分支,可以快速查询LocalService和netsvcs组中的服务详细信息。

图5 用工具查看svchost的情况

全能助手Windows服务管理专家 小档案

软件名称: 全能助手Windows服务管理专家
软件版本: 1.02
软件大小: 67KB
软件授权: 免费
适用平台: Windows 2000/XP
下载地址: 点击这里下载

三、危机仍在:小心病毒的*

由于Svchost.exe进程的特殊性,它隐藏了真正运行的程序的名称,在表面看到的只是Svchost.exe进程,这个特性同时也让许多病毒、木马有空可钻,企图以此迷惑用户。那么如何判断系统中的多个Svchost.exe进程是否正常呢?下面针对这类病毒常用的几种欺骗手法来进行分析。

*1:利用假冒Svchost.exe名称的病毒程序

火眼金睛:这种方式运行的病毒并没有直接利用真正的Svchost.exe进程,而是启动了另外一个名称同样是Svchost.exe的病毒进程,由于这个假冒的病毒进程并没有加载系统服务,它和真正的Svchost.exe进程是不同的,只需在命令行窗口中运行一下“Tasklist /svc”,如果看到哪个Svchost.exe进程后面提示的服务信息是“暂缺”(见图6),而不是一个具体的服务名,那么它就是病毒进程了,记下这个病毒进程对应的PID数值(进程标识符),即可在任务管理器的进程列表中找到它,结束进程后,在C盘搜索Svchost.exe文件,也可以用第三方进程工具直接查看该进程的路径,正常的Svchost.exe文件是位于%systemroot%\System32目录中的,而假冒的 Svchost.exe病毒或木马文件则会在其他目录,例如“w32.welchina.worm”病毒假冒的Svchost.exe就隐藏在 Windows\System32\Wins目录中,将其删除,并彻底清除病毒的其他数据即可。

图6 查看可疑svchost进程

*2:一些高级病毒则采用类似系统服务启动的方式,通过真正的Svchost.exe进程加载病毒程序,而Svchost.exe是通过注册表数据来决定要装载的服务列表的,所以病毒通常会在注册表中采用以下方法进行加载:

添加一个新的服务组,在组里添加病毒服务名
在现有的服务组里直接添加病毒服务名
修改现有服务组里的现有服务属性,修改其“ServiceDll”键值指向病毒程序
判断方法:病毒程序要通过真正的Svchost.exe进程加载,就必须要修改相关的注册表数据,可以打开[HKEY_LOCAL_MACHINE\ Software\Microsoft\WindowsNT\CurrentVersion\Svchost],观察有没有增加新的服务组,同时要留意服务组中的服务列表,观察有没有可疑的服务名称,通常来说,病毒不会在只有一个服务名称的组中添加,往往会选择LocalService和netsvcs这两个加载服务较多的组,以干扰分析,还有通过修改服务属性指向病毒程序的,通过注册表判断起来都比较困难,这时可以利用前面介绍的服务管理专家,分别打开 LocalService和netsvcs分支,逐个检查右边服务列表中的服务属性,尤其要注意服务描述信息全部为英文的,很可能是第三方安装的服务,同时要结合它的文件描述、版本、公司等相关信息,进行综合判断。例如这个名为PortLess BackDoor的木马程序,在服务列表中可以看到它的服务描述为“Intranet Services”,而它的文件版本、公司、描述信息更全部为空(见图7),如果是微软的系统服务程序是绝对不可能出现这种现象的。从启动信息“C:\ WINDOWS\System32\svchost.exe -k netsvcs”中可以看出这是一款典型的利用Svchost.exe进程加载运行的木马,知道了其原理,清除方法也很简单了:先用服务管理专家停止该服务的运行,然后运行regedit.exe打开“注册表编辑器”,删除[HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Services\IPRIP]主键,重新启动计算机,再删除%systemroot%\System32目录中的木马源程序“svchostdll.dll”,通过按时间排序,又发现了时间完全相同的木马安装程序“PortlessInst.exe”,一并删除即可。
LZ的电脑好差才2个 我家5个呢

热心网友 时间:2022-06-26 19:57

先杀毒,我有好几个
找到2个svchost.exe怎么办??

可以手动删除dllcache目录里面的全部文件,也可以用 sfc /purgecache 命令清空(需要勇管理员账户登陆系统)。

我的电脑中有2个svchost.exe程序 其中以个在C:\windows\system32\...

并不是病毒..那个进程是随着你的电脑而改变的..有时候会出现好几个..很正常...至于温度高..是因为没有清理灰尘...打开机箱用吹风机吹一下..别弄湿了主板..最好用吹风机..要不然就用干棉签把灰尘粘掉.

我的电脑中有两个svchost.exe文件

在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]项,找到类型为“reg_expand_sz”的键“magepath”,其键值为“%systemroot%system32svchost -k rpcss”(这就是在服务窗口中看到的服务启动命令),另外在“parameters”子项中有...

为什么我的电脑一开机就会出现两个svchost.exe,是什么原因?

大家可以把每个服务想象成一张音乐CD,而Svchost.exe就是用来播放这种CD的CD机。2.为什么用“CD机”装服务由于Windows 2000/XP系统服务越来越多,以EXE单独进程的形式启动所有服务会大大增加系统负担,为节省系统资源,微软将一些系统服务以动态链接库(DLL)形式实现,而Svchost.exe就是用来装载这些DLL文件以启动系统服务的程...

为什么我的电脑里面有两个svchost.exe占了很高的内存

点开始菜单选择计算机点管理打开本地服务。找到Superfetch服务禁用,禁自动更新服务,同时可以百度一下win7服务优化,禁用一些不必要的服务。

为什么我的电脑进程里面有两个SVCHOST.EXE NETWORK SERVICE

一般在Windows 2000中Svchost.exe进程的数目为2个,而在Windows XP中Svchost.exe进程的数目就上升到了4个及4个以上。所以看到系统的进程列表中有几个Svchost.exe不用那么担心。如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe文件就可以发现异常情况。一般只会找到一个...

svchost.exe是什么?如何处理多个svchost.exe进程占用cpu

知已知彼。Svchost.exe的键值是在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionSvchost”,每个键值表示一个独立的Svchost.exe组。所以可以根据这个位置来判断是否中毒:   同样的,正常的Svchost.exe程序在:“C:WindowsSystem32”目录下的,如果你在...

进程中有多个svchost.exe进程,这是怎么回事??

svchost.exe 运行状况:多个svchost.exe进程可以同时存在,在Windows2000一般有2个svchost进程,一个是RPCSS服务进程,另外一个则是由很多服务共享的一个svchost.exe。而在WindowsXP中,则一般有4个以上的svchost.exe服务进程,Windows7中一般是6个。svchost.exe功能信息:svchost.exe是一类通用的进程名称。和...

进程里为什么有多个SVCHOST.EXE

没办法减少,Service Host Process是一个标准的动态连接库主机处理服务。Svchost.exe对那些从动态连接库(DLL)中运行的服务来说是一个普通的主机进程名。Svhost.exe文件定位在系统的Windows\system32文件夹下。在启动的时候,Svchost.exe检查注册表中的位置来构建需要加载的服务列表。这就会使多个Svchost.exe...

电脑进程中有好多svchost.exe?怎么办啊?

一般来说,win2000有两个svchost进程,winxp中则有四个或四个以上的svchost进程(以后看到系统中有多个这种进程,千万别立即判定系统有病毒了哟)正常的svchost文件存在于“c:\windows\system32”目录下,如果发现该文件出现在其他目录下就要小心了。如果是病毒 去下载个专杀 再下载个360安全卫士 扫描一...

EXEEO是什么车 EXY=EXEY EXEEO价格 两个他 EXE EXE模拟器 索尼克EXE exceed是什么车 6两
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我是一个手机贩子,我在闲鱼上花700块买了一部小米8,下单前忘了问屏幕... vivoX510T 我双清之后不小心把sd卡也格式化了 现在手机无法用wifi 蓝 ... 怎么删除vivox510t手机中的两个系统!第二个系统是刷机精灵上面安装的... recovery在vivox510t中怎么使用 我买了个多玩弹弹堂的游戏号,请问现在怎么办才不被找回 最安全?_百度... 多玩弹弹堂绿色点券是干什么的 多玩歪歪弹弹堂我已经开通一个月的弹王盟约.现在如果再开6个月的弹王... 厦门海底世界游玩多长时间 科学城博能电子厂怎么样 龙之谷手游海龙巢穴怎么打 海龙巢穴通关技巧攻略 上网出现svchost.exe出错;说明我的电脑已经感染病毒了,现在下载补丁有没有用啊 win32.fakerpcss.g是木马吗? 为什么黑眼圈那么严重,有什么好办法吗? 为什么眼睛黑眼圈,有什么好办法吗? 这种尺寸怎么,怎么算厘米? 3尺6寸红布有什么意义 3尺6的裤子是几个x 白胡椒粉可以撒鞋底,防臭吗??? 为什么过去农村建架步尺寸3尺6寸等于1米14厘米 如何写一篇,10年后的家乡300个字以上作文 3尺6寸腰围一般多重的人 十年后的家乡作文怎么写 十年后的家乡作文100字(白岩厂) 为什么黑眼圈那么重,有什么好办法吗? 10年后的家乡作文 我现在生活规律、为什么有黑眼圈 为什么眼圈老是很黑 黑眼圈特别黑怎么回事,有什么好办法吗? 为什么我们的黑眼圈颜色那么深? 为什么黑眼圈是黑的,有什么好办法吗? 高分求trojan.fakerpcss.60183木马解决方法 中国农业银行是否可以直接通过银行卡转账到工商银行卡上? 直接转账不就可以了吗为何还要汇兑 已经收藏的微信视频怎么保存不到手机上?点击视频时只有收藏,没有保存... 银行卡之间怎样直接转账? 小小粮怎么还款?你好这个直接转账就行吗 房东不愿意和我签书面合同,让我直接每个月微信转账就行,这样可以吗? 我在电脑上股票转账,直接转就行了吗?怎么看到我转了多少钱啊! 灯具管吊式安装和吊链式安装有什么区别 honor30换外屏? 管吊式应急指示灯安装高度 灯具用管子吊装的这管子能套定额吗 桃子特点、外形、口感、食用价值 java小白应该怎么样来学习Java 桃的味道好闻吗? 有没有办法对思维导图pdf 加以编辑 桃子的味道为题目的话题作文 pdf中思维导图配文本是如何制作的 如何把做好的xmind思维导图再次进行编辑 蒜苗红烧肉怎么做好吃