我们在利用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”=-(找回“查找”命令)