| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4427 人关注过本帖
标题:[求助]怎样添加windows系统服务呢
只看楼主 加入收藏
独孤无痕
Rank: 1
等 级:新手上路
威 望:2
帖 子:159
专家分:0
注 册:2006-7-12
收藏
 问题点数:0 回复次数:5 
[求助]怎样添加windows系统服务呢

最近遇到这个问题,一直解决不了 还望高手帮忙

我用了一个开源的东西,是压缩包。解压后双击startup.bat就可以运行。
但是现在我想让系统启动的时候它就自动启动(注:不是登陆后)
所以应该是要在系统服务里面添加它的启动项。可以怎么弄也不成功。
也不知道我的想法能否实现。
希望各位高手指点下 谢谢

[此贴子已经被作者于2007-7-2 17:25:30编辑过]

搜索更多相关主题的帖子: windows 系统 服务 startup 
2007-07-02 17:23
xunlei163
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-6-23
收藏
得分:0 

网上添加服务的软件,此外如下

手工添加系统服务(1) 现在很多的木马、后门、蠕虫病毒都是通过修改注册表中的RUN键值来实现自启动。 但是这种自启动模式不是很隐蔽的,稍微懂点安全的人,一般发现电脑被黑,都会查看RUN键值的。于是系统服务便成为了一种相对隐蔽的自启动模式。比如冲击波杀手就采用系统服务来自启动病毒程序。现在添加系统服务的工具很多,最典型的就是netservice。但是我们这里讲的是手工添加系统服务,所以工具的使用不在本文的讨论范围之内。现在很多的木马⒑竺拧⑷涑娌《径际峭ü?薷淖⒉岜碇械腞UN键值来实现自启动。但是这种自启动模式不是很隐蔽的,稍微懂点安全的人,一般发现电脑被黑,都会查看RUN键值的。于是系统服务便成为了一种相对隐蔽的自启动模式。比如冲击波杀手就采用系统服务来自启动病毒程序。现在添加系统服务的工具很多,最典型的就是netservice。但是我们这里讲的是手工添加系统服务,所以工具的使用不在本文的讨论范围之内。 WINDOWS里的很多东西都是跟注册表息息相关的,系统服务也不例外。系统服务跟以下的注册表几个项目相关: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services
我们完全可以找到在系统服务中已注册的服务的键值来依样画葫芦。在以上任何注册表列中添加一个新项:名字是你想要添加系统服务的名字,比如Backdoor。在BACKDOOR项下新建一个字符串,数值名称Displayname 数值数据为要添加服务的名称Backdoor。
下面列出一个表,会直观一些:名称 类型 数据 备注 Displayname REG_SZ 想要添加服务的名称 想要添加服务的名称
Description REG_SZ 服务的描述 服务的描述
ImagePath REG EXPAND SZ 程序的路径
Start REG_DWord 0,2,3,4 2代表自动启动,3代表手动启动服务.4代表禁用服务,0代表系统对底层设备驱动(一般不需要这个)
ErrorControl REG_DWord 1
Type REG_DWord 10 or 20 一般应用程序都是10,其他的对应20
ObjectName REG_SZ LocalSystem 显示本地登陆注意:在XP/2003下可以完全手工来添加REG EXPAND SZ类型。在XP/2003下直接修改ImagePath 键值就可以了。但是在WIN2000下却不可以。原因我也不清楚:(。但是在WIN2000下我们写一个REG来直接注册系统服务,这样WIN2000下添加系统也能很轻松了。这里同样需要注意的是注册表文件里的ImagePath的数值类型必须是HEX(16进制)。可以拿WINHEX来把程序的绝对路径转换成16进制的。每一个数值用逗号搁开。比如我的ImagePath键值是C:\winnt\nukegroup.exe那就应该转换成:

手工添加系统服务(2) 63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65(无空格)打开记事本,敲入以下内容: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRVTEST] "Type"=dWord:00000010 "Start"=dWord:00000002 "ErrorControl"=dWord:00000001 "ImagePath"=hex(2):63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65 "DisplayName"="SRVTEST" "ObjectName"="LocalSystem" "Description"="系统服务测试" 把以上信息保存为addsrv.reg,我们就可以依靠命令来导入注册表,从而达到添加系统服务的目的。我们在命令控制台输入regedit /s addsrv.reg,等机器重新启动,这个服务就被成功添加了。但是我在真正实验的时候就遇到困难了。ImagePath的数值是乱码,怎么想也不明白。但是这时可以把乱码修改成绝对路径了。如果直接把REG信息写成这样
"ImagePath"=hex(2):C:\WINNT\NUKEGROUP.EXE 其他的键值都可以添加,这个键值就不可以了?总之我们可以先添加乱码的ImagePath,然后再修改成C:\winnt\nukegroup.exe 这样也不是不可能的。就是在命令行下来添加就很麻烦了。(图3) 以上是Windows 2000手工添加系统服务的方法,对于Windows 98 注册表结构是不一样的,但是Windows 98仍然可以通过注册表来实现添加系统服务,而且还要更简单一些。在项目“HKLM/SOFTWARE/Microsoft/WindowsCurrentVersion/RunServices”下添加一个新字符串数值。比如,如果程序的名字叫做“BACKDOOR”,就建立一个名为“BACKDOOR”的字符串数值,然后在数据域中输入执行程序的完整路径。手工添加一个系统服务就这么简单,手工删除系统也是一个道理。通过注册表来实现,这里就不多说了。


我本厚道
2007-07-02 19:54
system32
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:58
帖 子:3096
专家分:0
注 册:2006-9-24
收藏
得分:0 

WINDOWS里的很多东西都是跟注册表息息相关的,系统服务也不例外。

系统服务跟以下的注册表几个项目相关:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services
我们完全可以找到在系统服务中已注册的服务的键值来依样画葫芦。

在以上任何注册表列中添加一个新项:

名字是你想要添加系统服务的名字,比如Backdoor。

在BACKDOOR项下新建一个字符串,数值名称Displayname 数值数据为要添加服务的

名称Backdoor。
下面列出一个表,会直观一些:

名称 类型 数据 备注

Displayname REG_SZ 想要添加服务的名称 想要添加服务的名称
Description REG_SZ 服务的描述 服务的描述
ImagePath REG EXPAND SZ 程序的路径
Start REG_DWORD 0,2,3,4 2代表自动启动,3代表手动启动服务.4代表禁用服务,0代表系统对底层设备驱动(一般不需要这个)
ErrorControl REG_DWORD 1
Type REG_DWORD 10 or 20 一般应用程序都是10,其他的对应20
ObjectName REG_SZ LocalSystem 显示本地登陆

注意:在XP/2003下可以完全手工来添加REG EXPAND SZ类型。在XP/2003下直接修改ImagePath 键值就可以了。但是在WIN2000下却不可以。原因我也不清楚:(。但是在WIN2000下我们写一个REG来直接注册系统服务,这样WIN2000下添加系统也能很轻松了。这里同样需要注意的是注册表文件里的ImagePath的数值类型必须是HEX(16进制)。可以拿WINHEX来把程序的绝对路径转换成16进制的。每一个数值用逗号搁开。比如我的ImagePath键值是C:\winnt\nukegroup.exe那就应该转换成:
63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65(无空格)

打开记事本,敲入以下内容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRVTEST]

"Type"=dword:00000010

"Start"=dword:00000002

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65

"DisplayName"="SRVTEST"

"ObjectName"="LocalSystem"

"Description"="系统服务测试"

把以上信息保存为addsrv.reg,

我们就可以依靠命令来导入注册表,从而达到添加系统服务的目的。

我们在命令控制台输入regedit /s addsrv.reg,等机器重新启动,这个服务就被成功添加了。


[glow=200,blue,1]世界上妞是无限的,而我们的精力是有限的,用有限去搞无限,死定了。要用有限的精力去泡一个有钱妞,要发达,吃软饭![/glow]
2007-07-07 03:19
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
楼上都是一些高手

可惜不是你,陪我到最后
2007-07-07 16:52
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
收藏
得分:0 
果然是高手

2007-07-22 19:07
arg10
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-10-11
收藏
得分:0 
学了点东西
2008-10-11 11:16
快速回复:[求助]怎样添加windows系统服务呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058681 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved