reg文件

REG文件实际上是一种windows操作系统的注册表脚本文件,双击REG文件即可将其中的数据导入到注册表当中。利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作可以不受注册表编辑器被禁用的限制,因此功能更为强大、灵活,另外,由于REG文件可以用任何文本文件编辑工具(例如记事本)进行修改,因此通过它对注册表数据进行修改后,如果发生错误,还可以通过改回REG文件中的数据后再导入,从而实现恢复操作,因此它又较之直接用注册表编辑器修改更安全,所以熟练掌握REG文件的运用,有时可以起到事半功倍、意想不到的效果。

REG文件的创建是非常简单的,可以通过任何一个文本文件编辑工具来实现。而对于普通的windows操作系统的用户们来说,直接使用windows操作系统自带的记事本程序就能查看、编辑和创建reg文件。我们就以创建一个可以解除注册表禁用限制的REG文件restore.reg为例来介绍一下具体过程。

打开记事篮档洪本,在记事本文件中输入以下内容:

REGEDIT4

空一行

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]"DisableRegistryTools"=dword : 00000000

保存此文件,在打开的“另存为”对话框中选择好保存路径,再单击“保存类型”中的下拉箭头选择“所有文件”(一定要选择此步,不然保存后的文件会自动加上txt的扩展名,或者是您也可以先保存;再把创建出来的文件的扩展名直接改成reg即可,只是前提则是必须要事先设置windows资源管理器显示文件扩展名才行),然后在“文件名”婆榜循钻中输入“restore.reg”(任意文件名均可)后按“保存”按钮。以后你就能通过双击这个restore.reg来直接解除对windows操作系统的注册表编辑器的限制。

我们在利用REG文件对注册表进行操作时,要操作的对象有两种:一种是对主键进行操作,一种是对主键下的肯漏婆键值项目进行操作。对主键的操作有添加、删除两种,而对键值项目的操作则分为添加、修改和删除三种。下面我们就一个一个来实现。

1:添加主键

要想利用REG文件在注册表中添加一个主键是非常方便的,只需要在文件体部分直接以“[]”的形式写上要添加的主键路径即可。

例如:在HKEY_LOCAL_MACHINE\Software主键下添加一个名称为“软件工作室”的主键,内容如下:

REGEDIT4

空一背戒炒行

[HKEY_LOCAL_MACHINE\Software\软件工作室]

2:删除主键煮朽担剃

要使用REG文件在注册表中删除一个主键,在文件体部分“[]”括起来的主键路径前面加上一个“-”符号即可,删除主键操作将会一并删除该主键下的所有子键及其键值项目,所以这是个比较危险的命令,使用要十分注意。例如要删除我们刚才添加的那个主键,内容如下:

REGEDIT4

空一行

[-HKEY_LOCAL_MACHINE\Software\软件工作室]

1:添加键值项目

添加键值项目的操作如同注册表编辑器中的“新建”命令,一般来说,键值的数据类型分为三种:字符串值、二进制值和DWORD值。在REG文件中我们也要设置添加的键值项目的数据类型,如果要添加字符串值,则“=”号后边要用英文的双引号引住数据;如果添加的为DWORD类型值,“=”号后边的格式为“dword:数据”;如果添加的为二进制值,“=”号后边则为“hex:数据”。要设置默认值的键值数据时,“=”号前边的键值名称应为“@”符号,并且没有双引号。

例如我们要在“HKEY_LOCAL_MACHINE\Software\软件工作室”主键下设置默认键值为“工作室”,并分别添加“姓名”键值项目(字符串值)、“年龄”键值项目(二进制值)、“婚否”键值项目(DWORD值)。相应的REG文件内容如下:

REGEDIT4

空一行

[HKEY_LOCAL_MACHINE\Software\软件工作室]

@="工作室"

"姓阀白厦名"="徐徐徐"

"年龄"=hex:23

"婚否"=dword:00000000

在添加键值项目时,如果该键值所在的主键路径不存在的话,在添加键值项目的同时会自动新建该主键。另外在添加字符串值的键值项目时还有一点值得注意的地方,当这个字符串值是包括文件路埋担径的字符串值时,路径分隔符应用“\\”双斜杠表示,以示和注册表中的主键路径分隔符区别开来。例如我们要在注册中“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”主键下的启动组中添加位于“C:\Program Files\BOOBSOFT\屏幕保护控制器”目录下的一个应用程序“屏幕保护控制器.exe”的启动键值项目,REG文件内容如下:

REGEDIT4

空一行

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]

"scr"="C:\\PROGRAM ILES\\BOOBSOFT\\屏幕保护控制器\\屏幕保护控制器.exe"

2:修改键值项目

其实修改和添加很类似,对于已经存在的键值项目,我们要修改其数据时,只需要将正确的数据赋予对应的键值项目即可,新的数据会自动覆盖错误的旧数据,例如,当某些恶意网页修改了你的IE标题栏文字,在标题栏中总是显示那个网站的广告文字,很讨厌,我们知道修改IE标题栏文字是通过“HKEY_CURRENT_USER\Software\

Microsoft\Internet Explorer\Main”主键下的“Window Title”键值的数据进行设置的,那么我们就可以通过REG文件改回默认的IE标题栏文字。

REGEDIT4

空一行

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]

"Window Title"=""

3:删除键值项目

用REG文件删除键值项目也是很方便的,和删除主键相类似,也是通过“=”号实现的,不过这次不是加在前面,而是把“-”符号放在键值项目的等号后面。例如一些恶意网页在修改IE标题栏等设置的同时,还修改了开始菜单相关的键值项目数据,使得开始菜单中的“运行”、“查找”、“关闭”等命令都不见了,导入下面的这个REG文件删除相应的键值项目后就可以找回开始菜单当中的这些命令了。

REGEDIT4

空一行

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

"NoRun"=-(解除“运行”命令)

"NoClose"=-(找回“关闭系统”命令)

"NoFind"=-(找回“查找”命令)

我们双击REG文件时,系统会首先提示“确实要把XXX.REG内的信息添加到注册表吗?”的询问对话框,单击“是”按钮,系统就会按照REG文件中所描述的操作对注册表进行修改,完成以后并会给出提示“XXX.REG中的信息已经成功输入注册表”,把REG文件中的信息导入到注册表当中的操作称之为“合并”。

在REG文件上单击鼠标右键,有三个命令是关于REG文件的:合并、Print(也就是打印该reg文件的内容)、编辑,以粗体显示的就是“合并”操作,这也是默认的打开方式,也就是双击时执行的操作。如果你不想让在你双击REG文件时候让windows操作系统默认的执行“合并”选项的操作,你可以更改它的默认打开方式为“编辑”。打开资源管理器,单击“工具”菜单中的“文件夹选项”命令,在打开的对话框中单击“文件类型”标签,然后在“已注册的文件类型”列表中找到并选中“注册表项目”,从下面的“打开方式”我们也可以看出:原来REG文件默认的“合并”操作关联的是注册表编辑器(regedit.exe)呀!接下来点击“编辑”按钮,打开“编辑文件类型”对话框,然后选择“操作”列表中的“编辑”,再点击“设为默认值”按钮即可,以后双击REG文件时你的windows操作系统就会默认使用记事本来打开进行编辑。

在这里笔者顺便告诉大家一个独门绝技,如果你希望REG文件在导入时没有任何提示,你可以在图4所示的对话框中选中“合并”,然后单击“编辑”按钮,在弹出对话框的命令行中输入“regedit.exe /s "%1"”即可,这是使用了注册表编辑器Regedit的一个被称为安静导入模式的隐藏参数“/S”,在导入REG文件时如果加上“/S”参数,系统就不会再弹出任何提示对话框而是直接将该reg注册表项的内容直接导入注册表当中了。

有时在某些电脑中设置了禁用注册表编辑器后,为了防止一些电脑高手使用REG文件,来解除对注册表编辑器的限制,会让REG文件的默认打开程序设置为其他无关程序,当然这时可以通过修改“文件夹选项”中的相关设置改回来,但还有一种更绝的办法可以使REG文件不能用系统默认的方式打开。

运行注册表编辑器,将“HKEY_CLASSES_ROOT\.reg”下的默认值改为“txtfile”,这时REG文件的打开方式都指向了txt文本文件。这样更改后不知道的人即使修改“文件夹类型”中的“注册表项目”设置也无法改回来,当然这时系统也已经禁用了注册表编辑器,你是无法通过注册表编辑器修改了。但经过笔者的研究发现还有一种方法可以破解这种禁用REG文件。我们可以在编辑好的REG文件上按住“Shift”键的同时单击鼠标右键,这时系统会让你重新选择打开方式,从中选取用注册表编辑器regedit.exe打开就可以将REG文件导入注册表.

1:Windows 95/98/ME/NT 4.0第一行必须是“REGEDIT4”。而到了Windows 2000/XP/2003/Vista等windows操作系统则必须要是“Windows Registry Editor Version 5.00"。

2:注册表信息头尾用“[”与“]”包起来。

3:" "内就是字符串内容;“DWORD”为“0”就是用“dword:00000000”表示,反之是“1”则用dword:00000001来表示。

5:如果要删除某个注册表信息该怎么办?很简单,在注册表信息前面加上“-”(减)号。

6:为了美观规范:一般要求第一行之后需要空一行,但是这不是必须的,即使不空行也能得到正确的结果,但是写的时候还是推荐应该空一行写。

7:如果有两个以上的注册表信息,信息与信息之间就需要有空行隔开。

字符串值S表示:"字符串"=""

二进制值B表示:"二进制"=hex:

DWORD(32-位)值D表示:"DWORD(32-位)"=dword:00000000

DWORD(64-位)值Q表示:"DWORD(64-位)"=hex(b):00,00,00,00,00,00,00,00

多字符串值M表示:"多字符串"=hex(7):00,00

可扩充字符串值E表示:"可扩充字符串"=hex(2):00,00

相关词汇