1   1  /  1  页   跳转

disableregistrytools是什么东西?

disableregistrytools是什么东西?

如题。如何应对?我用瑞星查不到,但一直提示我要修改我的注册表。
最后编辑2006-06-22 12:54:01
分享到:
gototop
 

对付“DisableRegistryTools”



我们知道,按一般的方法,只要在注册表路径
[hkey_current_user\software\microsoft\windows\currentversion\polices\system]

路径下存在一类型为二进制或双字节型(十进制或十六进制型)且名为 DisableRegistryTools (不计大小写),并且值不为0 (程序中不为0则为逻辑真) ,此时我们运行windows自带的“注册表编辑器”就会出现提示说“注册表编辑已被管理员禁用”;
许多阿猫阿狗儿就会认为:只要设上这个DisableRegistryTools就可以不让别人改我的注册表了,甚至于一些电脑杂志也发表这样的文章;

其实这是一种误导,DisableRegistryTools它只是控制windows自带的“注册表编辑器”--regedit.exe & regedt32.exe(win2000及以上系统)而已。

它的原理就是:当regedit.exe & regedt32.exe运行时检测注册表中是否存在上述的键,如果有并且是二进制或Dword型(就是说非字符型),而且值不为0的话(这一点知道一点编程的同胞都知道0即为逻辑假,非0为逻辑真)就显示一对话框,提示说注册表编辑被禁用,你点确定后即关闭“注册表编辑器”(不会编程的人都知道是怎么回事),而其它注册表工具几乎都不会SB一样去管DisableRegistryTools是否存在,难道我们做的注册表工具需要判断此值,并且根据此值来判断是否可以运行我们的注册表工具吗?答案是否定的(当然,那些注册表工具还是有这个设置,因为它这方面也是针对windows的注册表编辑器而做的,所以祸首还是注册表编辑器,并非此工具软件愿意无故去访问DisableRegistryTools),所以它当然不会因为存在DisableRegistryTools而禁止运行自己,也因此说DisableRegistryTools对其它注册表工具是没用的,再换句话说DisableRegistryTools就是windows的“掩耳盗铃”。

知道它的工作原理后现在就可以对付它,当然还是从regedit.exe着手,我们可以把regedit.exe改一改,使它在执行时不去检测DisableRegistryTools就行了,既然有了这个目标,下面就来动手:
用十六进制编辑器(我这里以UltraEdit9为例)打开regedit.exe,然后搜索AscII码DisableRegistryTools(当然你也可以以十六进制模式查看,从文件头开始往下翻,很容易就可以找到的)。

注意:windows2000和xp中DisableRegistryTools并不是个连续的字符串哦,每个字符中间都隔了个00H,所以不可以直接按连续字符串搜索,你可以直接在UE中往下翻就可以找到。

技巧:
不单DisalbeRegistryTools可以改,还可以把后面的路径也改改哦,默认值是software\microsoft\windows\currentversion\polices\system,(只是它一直在hkey_current_user键下就是了,这个好象没法改,如果你知道怎么把它改到例如hkey_local_machine下,那欢迎告诉我),这下一般人就难得知道你是用什么键值来禁止注册表编辑器了;比如说路径改成Environment,然后改DisableRegistryTools为Reg,则此后hkey_current_user\Environment\Reg才是有效的禁止/允许windows自带的注册表编辑器哦。

哈!自然,别人或者可以通过可执行程序、REG文件、INF文件、命令行下的regedit操作等方法修改DisableRegistryTools想禁止你的注册表编辑器或想打开你已经禁止的注册表编辑器,当然行不通了。所以我们一个简单的动作都可以使别人的许多种方法失效,这才是本文的精华。当然,最简单的禁止注册表编辑器方法是直接把它的执行文件删除,不过那样太显眼了,还是改资源比较“暗”。建议机房管理员或网管使用。

gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT