[转] Windows服务的手动添加和删除方法
服务,是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接
近硬件)程序。其实,服务就是一种特殊的应用程序,它从服务启动开始就一直处于运行状态
,而普通应用程序在运行之后就处于休眠状态,直到用户再次对其进行操作;在WinXP里,服务
是在系统加载以后就自动启动的,而不需要登陆,但自动运行的普通应用程序是在WinXP加载并
登录以后才执行的,关于手动添加服务需要的情况并不多,但是还是可能会遇到。这里收集整理如下。
由于Windows平台下的应用程序并不是每个都可以作为服务正常运行的,因此,对于安装服
务,一般分为两种情况:
情况一:安装可以作为服务运行的程序成为WinXP的服务;
情况二:安装不可以作为服务运行的程序(即普通的应用程序)成为WinXP的服务。
使用安装工具:srvinstw.exe和srvany.exe,Win2000资源工具包中提供的工具;(这种方法在此不多说了,如有需要可留言)
下面是手工添加服务的方法,适用用找不到添加工具的时候手工添加服务,呵呵,很多病毒、木马也是这样添加的!!
通过修改注册表来添加服务:
在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services"
,在右侧窗格中显示的就是本机安装的服务项。如果要新建服务,只须点击"编辑→新建→项"
,然后为此项命名,如"test";然后右击该项,选择"新建→字符串值"或"新建→Dword值"即可
。添加一个服务项目具体需要添加的键值如下:
"DisplayName",字符串值,对应服务名称;
"Description",字符串值,对应服务描述;
"ImagePath",字符串值,对应该服务程序所在的路径;
"ObjectName",字符串值,值为"LocalSystem",表示本地登录;
"ErrorControl",Dword值,值为"1";
"Start",Dword值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;
"Type",Dword值,应用程序对应10,其它对应20。
另外,还要在"test"项下新建一个"Enum"项。如果有些必须通过srvany来加载的还必须
添加另外的Parameters子项在该项中提供详细的要加为服务的程序所在的路径。而上面的那个
路径就需要指到srvany所在的路径。
上面提到的是如何添加服务,怎么删除windows服务呢,请继续看:
一、Windows服务
Windows服务也称为WindowsService,它是Windows操作系统和Windows网络的基础,属于
系统核心的一部分,它支持着整个Windows的各种操作。诸如DNS客户端、打印程序、Windows更
新服务、计划任务、Windows时间服务、告警器等服务,它们关系到机器能否正确运行。如果不
能适当地管理这些服务,就会影响到机器的正常操作。
一个服务首先是一个Win32可执行程序,或者是是rundll32.exe来运行一个.dll的方式形成
的进程。
跟普通应用程序不一样,如打开WORD,有一个界面出来,但服务没有用户界面。也不能通过直接双击运行相应的.exe程序来运行。那Windows又是如何控制一个服务的?
Windows的服务由更上一级的services.exe这个服务来管理,由它来管理,负责进行服务的
启动、停止、运行,暂停等。我们最常用的操作就是通过Windows的服务MMC界面来完成相关操
作。
二、如何删除Windows服务
现在的流氓软件,越来越多把自己注册为一个服务。在Hijackthis的扫描日志中,一般会
把非Windows系统的服务以023的方式列出来,如下面这段:
O23-未知-Service:BKMARKS[提供传输协议的数据安全保护机制,有效维护数据传输
中的安全及完整。]-C:\WINDOWS\SYSTEM32\RUNDLL.EXE
O23-未知-Service:ewidoanti-spyware4.0guard[ewidoanti-spyware4.0
guard]-D:\ProgramFiles\ewidoanti-spyware4.0\guard.exe
O23-未知-Service:KSD2Service[KSD2Service]-C:\WINDOWS\system32
\SVCH0ST.exe
对于这些流氓软件,需要删除相关的.exe文件,使它不能再运行,或者直接清除这个服务
本身,使计算机重启的时候,它不会再启动。
删除的办法有两个:
办法一:用sc.exe这个Windows命令
开始——运行——cmd.exe,然后输入sc就可以看到了。使用办法很简单:
scdelete"服务名"
(如scdeleteService83F9085F)
如针对上面的:scdeleteKSD2Service
方法二:直接进行注册表编辑(不推荐)
打开注册表编辑器,找到下面的键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
一般服务会以相同的名字
在这里显示一个主健,直接删除相关的键值便可。
(HKEY_CURRENT_USER\SYSTEM\CurrentControlSet\Services下可能也有,可在注册表中查找删
除)
三、特殊情况
1、如果服务显示的是rundll32.exe,并且这个文件是位于system32目录下,那么就不能
删除这个rundll32.exe文件,它是Windows系统的文件。这时只要清除相关的服务就可以了
2、如果一个服务删除了马上又自动建立了,说明后台有进程在监视、保护。需要先在进
程管理器中杀掉相应的进程,或者启动后按F8,到安全模式下删除。