
使注册表编辑器无法被禁用.doc
5页使注册表编辑器无法被禁用使注册表编辑器无法被禁用注册表解锁的几种方法 在上网浏览了恶意网页后,经常会遇到注册表被禁用的事情注册表被加锁,其主要原理就是修改注册表在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVerssion\Policies\System 分支下,新建 DWORD 值“Disableregistrytools” ,并设键值为“1” 这样,当有人运行注册表编辑器时就会出现“注册编辑已被管理员所禁止”的对话框(如图 1) ,这样就可以达到限制别人使用注册表编辑器的目的给注册表解锁的方法有很多,编辑 REG 文件导入注册表是最常用的本文要介绍的是与众不同的七招,在此与您分享 用 Word 的宏来解锁 Word 也可以给注册表解锁?没错!我们利用的是微软在 Word 中提供的“宏” ,没想到吧?具体方法是:运行 Word,然后编写如下面所示的这个“Unlock”宏,即可给注册表解锁: Sub Unlock() Dim RegPath As String RegPath = “HKEY_CURRENT_USER\Software \Microsoft\Windows\CurrentVersion\Policies\System” System.PrivateProfileString(FileName:=“”,Section:=RegPath,Key:=“Disableregistrytools”)=“OK!” End Sub 其实,这个方法一点都不神秘,只是利用了注册表的一个特性,即在同一注册表项下,不能有相同名字的字符串值和 DWORD 值,如果先前有一个 DWORD 值存在,则后建立的同名的字符串值会将其覆盖,这也就间接的删除了原值。
在本例中就是 DWORD 值Disableregistrytools 被同名的字符串值所覆盖删除 修改 Regedit.exe 文件 修改 Regedit.exe 文件也可以给注册表解锁,前提条件是手头上要有十六进制文件编辑软件如 UltraEdit 或 WinHex 等我们以UltraEdit 为例,用 Ultraedit 打开注册表编辑器 Regedit.exe点击“搜索”菜单下的“查找” ,在弹出的对话框中的“查找 ASCII 字符”前面打上“√” ,在“查找什么”栏中输入:Disableregistrytools(如图 2) ,点击“确定”开始查找会找到仅有的一处结果,改成别的字符就可以了不过长度一定要一样(20 个英文字母) ,这样就可以解除对注册表编辑器的禁用 使注册表编辑器无法被禁用 给注册表编辑器 Regedit.exe 做个小手术,使之对注册表禁用功能具有“免疫力” ,可以打造一个锁不住的注册表编辑器这对防范恶意网页对注册表的禁用非常有好处用十六进制文件编辑器Ultraedit 打开 Regedit.exe,查找 74 1B 6A 10 A1 00,找到后,把 74 改为 EB 即可。
现在,你就有了一个锁不住的注册表编辑器了下次既使注册表被禁用也不用害怕了,只管运行之,保管恶意网页的修改无效 用 INF 文件解锁 大家一定看到过在 Windows 中有一种后缀为 INF 的驱动安装文件,它实际上是一种脚本语言,通过解释执行它包含了设备驱动程序的所有安装信息,其中也有涉及修改注册表的相关信息语句,所以我们也可以利用 INF 文件对注册表解锁 INF 文件是由各个小节(Section) 组成小节的名字从中括号中起,且在此文件中必须是惟一的小节的名字是它的入口点后面是小节内容,形式上是“键名称=键值” 在文件中可以添加注释,由分号完成,分号后的内容不被解释执行让我们开始行动,用记事本编辑如下内容的文件: [Version] Signature=“$CHICAGO$” [DefaultInstall] DelReg=del [del] HKCU,Software\Microsoft\Windows\CurrentVersion\Policies\ System,Disableregistrytools, 1,00,00,00,00 将上面的内容存为 del.inf,使用时用右键点击它,在弹出菜单中选择“安装”即可给注册表解锁(如图 3) 。
用 JScript 解锁 用记事本编辑如下内容的文件,保存为以.js 为后缀名的任意文件,使用时双击就可以了 VAR WSHShell=WSCRIPT.CREA-TOBJEt(“WSCRIPT.SHELL”); WSHShell.Popup(“为你解锁注册表”); WSHShell.RegWrite(“HKCU\\Software\\Microsoft\\ Windows\\CurrentVersion\\Policies\\ system\\DisableRegistryTools”, 0,“reg_dword”); 大家可以看出用 JS 对键值进行操作时要用两斜杠“\\” ,并且要用“;”表示结束一般只要能注意这两点,就没有问题了 用 VBScript 解锁 用 VBScript 对注册表进行解锁?没错!很容易又很简单的一个方法,用记事本编辑如下内容: DIM WSH SET WSH=WSCRIPT.CreateObject(“WSCRIPT.SHELL”) WSH.POPUP(“为你解锁注册表!”) WSH.Regwrite“HKCU\Software\Microsoft\Windows\ CurrentVersion\Policies\System\DisableRegistryTools”,0,“REG_DWORD” WSH.POPUP(“注册表解锁成功!”) 将以上内容保存为以.vbs 为扩展名的任意文件,使用时双击即可。
