枫林在线论坛精华区>>信息安全
[52950] 主题: 另类方法解读被锁注册表信息
作者:  (顾左右而言他)
标题: 另类方法解读被锁注册表信息[转载]
来自: 218.79.*.*
发贴时间: 2003年04月29日 00:38:54
长度: 3517字

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


DOS命令,我用 


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


REG文件,我编 


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


因为限制不准用户执行“Regedit”的注册表信息是:HKEY_CURRENT_USER

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


1、制作REG文件 


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


REGEDIT4 


 "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\u
nlock.reg后按回车。接着画面上会出现“您确定要增加 c:\temp\unlock
.reg信息到注册表”的对话窗——按“确定”,“unlock.reg”的内容就
输入注册表了,同时也就解除了无法执行“Regedit”的限制了。 


举一反三,我通 


REG文件为什么要以“REGEDIT4”开头,而不是“REGEDIT1”或“REGEDIT
2”呢?哈,答案很简单,因为这是“规定”。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 Ver
sion 5.00”,以区别操作系统; 


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


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


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


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


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


REGEDIT4 

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


========== * * * * * ==========
返回