首页 新闻 搜索 短信 分类 聊天 企业
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 网上学园 > 操作系统 > 正文
使用另类方法解读“神秘”的注册表

http://www.sina.com.cn 2002/04/23 11:19 赛迪网--中国电脑教育报

  文/方靖

  当上网遇到一些恶意的网站,在背后偷偷修改你的注册表信息,把系统设置乱改一通,然后再锁住“注册表编辑器”(Regedit.exe),让你无法通过执行“Regedit”(注册表编辑器)这个程序来还原设置时,你该怎么办呢?下面就请听我给你慢慢道来。

  DOS命令,我用

  这个时候,我们可以通过在DOS下执行“Regedit”来修改注册表,这个语法是:regedit files.reg。“files.reg”是指事先建立好的扩展名为“.reg”的注册表信息文件(请不要以为文件名称一定要叫做“files.reg”,这只是个举例,只要扩展名是REG就可以了)。如果REG文件与“Regedit.exe”不在同一个文件夹下的话(比如REG文件不在C:\Windows中,而“regedit.exe”位于C:\Windows中),REG文件名称前面就需要加上该文件所在的路径。例如:Regedit d:\temp\unlock.reg,这段话的意思就是告诉“Regedit”向注册表输入D:\Temp中名为“unlock.reg”的文件。REG文件只是一个纯文字文件,在文件格式上并没有特殊的地方,所以利用Windows的记事本就可以制作,惟一麻烦的地方是,你必须知道你要修改的注册表值是什么。下面就以实例解说,好让各位更容易明白。

  REG文件,我编

  假设问题是:“Regedit”已经被锁住了,我们从“开始→运行→Regedit”按确定之后,出现“注册表编辑已经被您的系统管理员停用”。如何才能解除这个限制呢?

  因为限制不准用户执行“Regedit”的注册表信息是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System中的“DisableRegistryTools”这一项值。因此只要我们把“DisableRegistryTools”的值设为“0”(代表关闭),或是干脆把System这个注册表信息删掉(干净的操作系统本来就没有此信息)就行了。那这个REG文件怎么写,才能让“Regedit”顺利把其中的信息导入注册表呢?方法如下:

  1、制作REG文件

  新建一个文本文件,在其中输入以下内容:REGEDIT4

  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableRegistryTools"=dword:00000000注意:“REGEDIT4”这行与后面行之间要有一空行。

  编辑好了以后,为文件取个名字储存,如“unlock.reg”并保存(存盘时请记得在记事本的存盘对话框中的“保存类型”要选择“所有文件(*.*)”,否则会被当作TXT文件的)。

  2、导入REG文件

  因为在Windows环境下,已经没有办法执行“Regedit”,所以就要改成从DOS下执行此命令。方法是“开始→程序→MS-DOS方式”。当然,你想用启动盘开机,从纯DOS下执行也行,只是不需要这么麻烦,用Windows中的MS-DOS方式即可。

  假设我的这个unlock.reg是放在C:\TEMP的话,就输入regedit c:\temp\unlock.reg后按回车。接着画面上会出现“您确定要增加c:\temp\unlock.reg信息到注册表”的对话窗——按“确定”,“unlock.reg”的内容就输入注册表了,同时也就解除了无法执行“Regedit”的限制了。

  举一反三,我通

  REG文件为什么要以“REGEDIT4”开头,而不是“REGEDIT1”或“REGEDIT2”呢?哈,答案很简单,因为这是“规定”。Windows 95/98/ME/NT 4.0等的REG文件开头第一行规定必须是“REGEDIT4”。而Windows 2000/XP则是“Windows Registry Editor Version 5.00”,用以区分所使用的操作系统。从这个REG文件中,我们可以了解REG文件的内容格式:

  1、开头第一行一定是:“REGEDIT4”或“Windows Registry Editor Version 5.00”,以区别操作系统;

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

  3、" "内就是字符串内容;

  4、“DWORD”为“0”就是用“dword:00000000”表示,因为“DWO-RD”值是16进位,16进位的“0”就是“00000000”。

  5、因为本例中只有一行注册表信息([HKEY_CURRENT_USER\Software\Mi...]),所以没有空行。而如果有两个以上的注册表信息,信息与信息之间就需要有空行隔开。

  6、如果要删除某个注册表信息该怎么办?很简单,在注册表信息前面加上“-”(减)号。例如,“unlock.reg”我也可以这么写:REGEDIT4[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]

  只要“-HKEY_CURRENT_USER\Soft...”就可以了,“DisableRegistryTools...”那一行就可以省去不写,为什么?因为这行就是告诉“Regedit”直接去把“System”这个注册表信息删掉,而“DisableRegistryTools”又是在“System”下,头都删了,当然里面的东西也就消失了。

  (责任编辑龙哥)


  


发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

 相关链接
【学园专题】注册表的秘密
注册表“.REG”文件完全攻略(下)(2002/04/08 15:20)
注册表“.REG”文件完全攻略(上)(2002/04/03 15:26)
巧改注册表加快Win2000网络访问速度(2002/03/29 15:46)
ADSL上网方式相关参数的优化(2002/03/22 17:13)
杜绝恶意网页代码 解除注册表连环套(2002/03/19 12:01)
全面解决注册表被非法修改的问题(2002/03/12 23:59)


科技时代意见反馈留言板 电话:010-82612286 或 010-82628888-3488   欢迎批评指正

新浪简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 帮助信息

Copyright © 1996 - 2002 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网