`

用JS编辑注册表总结

阅读更多
一、用JS编辑注册表
var WSHShell=WScript.CreateObject("WScript.Shell");
WSHShell.Popup ("这是一个用JS编辑注册表的例子By yjj");
WSHShell.RegWrite("HKLM\Example_JS", "String Key_JS");
WSHShell.RegWrite("HKLM\Example_JS", "Reginfo By yjj");
WSHShell.RegWrite("HKLM\Example_JS\Value","String Key For JS");
WSHShell.RegWrite("HKLM\Example_JS\Binary", 1,"REG_BINARY" );
WSHShell.RegWrite("HKLM\Example_JS\Dword", 1,"REG_DWORD" );
WSHShell.RegWrite("HKLM\Example_JS\Next","NewData");
WSHShell.Run("Regedit");

上面这些代码中第一句是定义对象,第二句用来显示一条信息,后面几行写注册表,最后一行运行注册表编辑器。大家可以看出用JS对键值进行操作时要用两斜杠“\”,并且要用“;”表示结束。一般只要能注意这两点,就没有问题了。

再来看一个用JS编辑注册表的例子。大家知道,浏览某些恶意网页会把我们的注册表给禁用了,由于无法导入注册表文件,造成我们没有办法使用注册表编辑器。把下面的代码存为以js为后缀名的任意文件,然后双击就可以将其导入注册表中,从而给注册表解锁:
VAR WSHShell=WSCRIPT.CREATOBJEt("WSCRIPT.SHELL"); 
WSHShell.Popup("这是一个用JS编辑注册表的例子By YJJ"); 
//下面的例子要在注册表中建立一个Dword值,名为DisableRegistryTools,值为0,注意要说明值的类型! 
WSHShell.RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system
\DisableRegistryTools", 0,"reg_dword");

试试看,是不是很神奇啊?以上说的都是添加键值,如果要删除某些键值该怎么办呢?很简单,将“WSHShell.RegWrite”改成“WSHShell.RegDelete”就可以了。


注意:JScript不是其他语言的精简版,也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且没有对读写文件的内置支持。此外,JScript脚本只能在某个解释器或“宿主”上运行,如ASP、Internet浏览器或者Windows脚本宿主。
二、用INF文件编辑注册表

INF小知识:INF是用于安装驱动程序的文件,它是文本格式的,记录着驱动程序的所有相关资料。随便打开一个INF文件可以看到许多项,每一项都有特定的含义,比如从“Version”一项就可以看出支持的Windows版本是什么:Win9X系列的代号就是CHICAGO,Win2000/XP的代号就是Windows NT。

让我们来举个例子。首先打开记事本,然后在里面输入下面内容,然后保存为addreg.inf。
[Version]
Signature="$CHICAGO$"

[DefaultInstall]
Addreg=Add

[Add]
HKLM,"SOFTWARE\★★小军★★",,%REG_SZ%,★★小军向你表示祝贺★★!
HKLM,"SOFTWARE\★★小军★★",SZ字符串,%REG_SZ%,Congratulations!
HKLM,"SOFTWARE\★★小军★★",Dword双字节,%REG_Dword%,1
HKLM,"SOFTWARE\★★小军★★",Binary二进值,%REG_BINARY%,00,00,00,00,10,11,00,00
HKLM,"SOFTWARE\★★小军★★\测试";添加“测试”这个下级子键

[Strings]
REG_SZ=0x00000000
REG_BINARY=0x00000001
REG_DWORD=0x00010001


鼠标右键点击这个INF文件,选择快捷菜单中的“安装”命令,如果你输入的格式没有错误的话,应该在HKEY_LOCAL_MACHINE\Software下面看到一个新的主键:★★小军★★,选中这个主键,应该可以在右边看到默认值为“★★小军向你表示祝贺★★!”,还有一个叫做“SZ字符串”的字符串值为“Congratulations!”等等。

<table align=center> <tr> <td></td></tr></table>


展开这个主键,还可以看到另外一个主键,名为“测试”,是不是感到很奇怪啊?其实这一招并不神秘,就是那个INF文件捣的“鬼”!

由上可知,INF文件是由各个小节(Section) 组成,各小节之间必须空一行。小节的名字从中括号“[”起至“]”结束,小节的名字是它的入口点,在此文件中必须是唯一的。小节名之后是小节内容,形式上是“键名称=键值”。在文件中可以添加注释,由分号“;”完成,分号后的内容不被解释执行。书写INF文件的格式如上所示,其各项含义如下:

[Version]:指明能够使用的Windows版本
Signature:系统从这里来看是不是适合当前版本,如果适合的话就执行,否则不执行。
[DefaultInstall]:指出该INF文件包含的其他小节。可将INF文件看成是以[DefaultInstall]为主干的树,在这儿我们可以加入AddReg和DelReg键,它们指定希望添加,编辑,修改或是删除注册表项的小节名称。
Addreg=add:表示在注册表中添加内容,此项就指定了要添加的⒉岜硇∠畹母鞒疲?包含有具体添加和删除信息的小节均使用类似格式如下 /font>

HKEY(根键缩写),Subkey(子键),Valuename(键值名),Type(键值类型),Value(键值)

其中根键缩写方式很明了,前两个字符必须为HK,如HKEY,HKLM,HKR等。子键为不包括根键部分的子键分支,键值为空就表示是默认值。键值类型中,如果为0则指定为字符串型,如果为1则是二进制型。键值中的字符串形式的必须以双引号括起来,而二进制数据则使用十六进制格式表示出来,各字节之间以逗号“,”分割。

Delreg=del:表示在注册表中要删除的内容
[Strings]:是扩充用的,这样就可以避免记忆麻烦的数字了。比如字符串本来应该是0,现在用REG_SZ表示。

基本原理就这些,现在我们来删除刚刚我建立的东西。在记事本里面粘贴下面内容:

[Version]
Signature="$CHICAGO$"

[DefaultInstall]
Delreg=Del

[Del]
HKLM,"SOFTWARE\★★小军★★\测试"
HKLM,"SOFTWARE\★★小军★★"


然后保存为扩展名为.INF的任意文件,用鼠标右键点击这个INF文件,选择快捷菜单中的“安装”命令,然后再到注册表编辑器里面看看,是不是刚刚建立的东西没有了。怎么样?很神奇吧?

也许有人会问,能不能只删除一项呢?可以的。比如我删除HKEY_LOCAL_MACHINE\★★小军★★下的那个叫做“SZ字符串”的字符串值,那么只需要用记事本写下面内容:

[Version]
Signuture="$CHICAGO$"

[DefaultInstall]
Delreg=Del

[Del]

HKLM,"SOFTWARE\★★小军★★",SZ字符串

保存完毕,按照同样的方法运行即可只删除这个字符串值。

现在,我们再举个用INF文件对注册表进行操作的例子,具体说来就是用INF文件对加了锁的注册表进行解锁。何为加了锁的注册表?大家知道,要禁止别人使用注册表编辑器,可以使用下面这个办法:在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVerssion\policies\system下,新建DWORD值Disableregistrytools,并设其键值为1即可。这样,当有人运行注册表编辑器时就会出现“注册编辑已被管理员所禁止”的对话框,限制了别人使用注册表编辑器,在一定程度上保护了系统的安全。


但是当自己要使用注册表编辑器时该怎么办呢?我们可以用记事本编制个INF文件进行解锁:

[Version]
Signature="$CHICAGO$"

[DefaultInstall]
Delreg=Del

[Del] 
HKCU,"Software\Microsoft\Windows\CurrentVersion\Policies\System",
Disableregistrytools,1,00,00,00,00


将上面的内容保存为后缀名为.inf的任意文件,然后用右键点击它,在弹出菜单中选择“安装”即可给注册表解锁。
请大家特别注意:采用此方法修改注册表危险度很高,而且格式要求也很严(必须使用英文标点符号,而且。请按照本文中的格式书写),望大家小心使用。好了,就先谈这么多,由于水平有限,不当之处请大家批评指正。
</td> </tr> <tr> <td vAlign=top align=left height="100%"> 
分享到:
评论

相关推荐

    注册表命令大全适合编辑注册表

    3. **regeidt32** - 注册表编辑器(32位版本):适用于32位系统或需要兼容32位应用程序的情况下使用的注册表编辑工具。 4. **regsvr32/u *.dll** - 卸载DLL文件:用于卸载动态链接库(DLL)文件,通常用于解决某些...

    IE修复注册表修复

    1. **手动修复**:对于熟悉注册表操作的用户,可以通过使用“regedit”命令打开注册表编辑器,然后定位到与IE相关的键(如HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer),查找并修复错误或缺失的键值。...

    chrome浏览器js调用exe

    总结来说,通过在Chrome浏览器中注册协议处理程序并使用JavaScript触发调用,我们可以实现JS调用本地exe的功能。然而,这种技术应当谨慎使用,因为它涉及用户的安全,并且在多平台或多浏览器环境下可能面临兼容性...

    用JavaScript和注册表脚本实现右键收藏Web页选中文本

    总结起来,这个功能通过JavaScript捕获用户的选中文本,配合注册表脚本在Windows的右键菜单中添加定制项,实现了方便快捷的文本收藏。在实际应用中,开发者需要确保兼容不同的浏览器,并且考虑用户的安全性,比如...

    Node.js-Verdaccio一个轻量级的私有npm代理注册表sinopiafork

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行开发。Node.js具有事件驱动、非阻塞I/O模型,使其在处理高并发场景时表现出色。 **2. npm简介** npm(Node Package...

    js与串口通信代码与运行出现问题

    在解决JS与串口通信问题时,可能需要编辑注册表以启用或配置ActiveX控件。 总结,JS与串口通信涉及的技术主要包括Web Serial API、ActiveX、Flash、Node.js的`serialport`库等,而解决鼠标冲突和设置冲突则需要巧妙...

    金格控件未安装的解决方法.doc

    1. 按下Win+R键打开运行对话框,输入“regedit”并回车,打开注册表编辑器。 2. 导航至HKEY_CLASSES_ROOT\CLSID,查找金格控件的对应项(如“{23739A7E-5741-4D1C-88D5-D50B18F7C347}”)。 3. 确认该项下的所有子项...

    IE打印有URL解决方案

    总结起来,解决“IE打印有URL”问题的方法包括对注册表的直接编辑和通过JavaScript实现的用户交互界面。前者需要一定的电脑操作知识,后者则为用户提供了一种更直观的解决方案。这两种方法都是为了优化用户的打印...

    IE6补丁解决IE6卡死现象

    不过,直接编辑注册表有一定风险,如果操作不当可能导致系统不稳定,因此通常建议用户只应用来自可信赖来源的补丁。 此外,压缩包中包含的“说明.txt”文件很可能是补丁应用的指南,提供了详细的步骤和注意事项,...

    精彩编程与编程技巧-修改IE的环境菜单...

    本文将围绕如何通过编辑注册表来修改IE的环境菜单,从而实现个性化功能的目的进行深入探讨。此方法适用于希望对IE浏览器进行自定义操作的高级用户。 #### 二、知识点详述 ##### 2.1 注册表基础知识 - **注册表...

    可直接在XP下使用的imgedit控件

    总结来说,imgedit控件是一款适合在Windows XP系统中使用的图像编辑组件,它的易用性和强大的图像处理能力使得开发者能快速地在应用程序中集成图像编辑功能。配合注册脚本,可以轻松完成控件的安装和使用,从而降低...

    npm-cors-proxy:NPM注册表的Cors代理

    【npm-cors-proxy:NPM注册表的Cors代理】 在前端开发中,由于浏览器的同源策略限制,当我们试图从一个源(Origin)发送Ajax请求到另一个源时,如果没有正确设置CORS(Cross-Origin Resource Sharing,跨源资源共享...

    小程序源码 RegeditTable.zip

    RegeditTable可能是一个特定的功能模块或者整个小程序项目的名称,它暗示了这个项目可能与数据编辑、表格展示或者注册表操作有关。 【知识点详解】 1. **小程序开发**:微信小程序是一种轻量级的应用形式,用户...

    Pageoffice的简单使用

    PageOffice是一款专为ASP.NET平台设计的在线文档编辑控件,它使得开发者能够在网页中实现对各类常见文档(如Word、Excel、PPT等)的创建、编辑和保存功能,无需借助任何第三方软件,用户可以直接在浏览器中进行操作...

    a63822322的解决reg.inf文件被锁定的说明

    - 通过 `RegWrite` 方法写入特定的注册表键值,以解除对注册表编辑工具的禁用(`DisableRegistrytools` 设置为 `0`)。 - 修改 `.reg` 和 `.inf` 文件的关联类型,将 `.reg` 关联为 `REGFILE` 类型,`.inf` 关联为...

    vista_note

    它虽然看似简单,但在程序员和日常用户中有着广泛的使用,尤其对于快速编写和编辑代码来说,记事本是一个不可忽视的选择。 一、记事本的基础功能 1. 文本编辑:记事本提供基本的文本编辑功能,如插入、删除、复制...

    代码改IE主页

    2. 使用编程代码(如JavaScript、VBScript)或命令行工具(如Reg.exe)修改注册表。 3. Windows批处理文件(`.bat`)的使用和编写。 4. 注册表编辑的危险性与注意事项。 5. 防范潜在的恶意软件或不安全的脚本。 ...

    Editplus中文版

    《EditPlus中文版:全能文本编辑器的深度解析》 EditPlus是一款备受赞誉的文本编辑器,尤其在程序员和Web开发者中广受欢迎。其中文版的出现,为中文用户提供了更为便捷的操作体验,无需注册即可使用,使得这款强大...

    editplus3.2

    13. **绿色版**:作为绿色版软件,EditPlus3.2无需安装,解压即用,不写入注册表,易于携带和备份。 总结来说,EditPlus3.2以其强大的编辑功能、灵活的自定义设置和对多种编程语言的支持,成为了程序员和Web开发者...

    JAVA开发经验文档

    2. 可以通过注册表编辑来实现,例如新建一个项"VIEW SOURCE EDITOR",并设置默认编辑器的路径和文件名。 七、其他技巧 1. 在HTML中可以使用 `&lt;!-- --&gt;` commentaire来注释代码,但是客户端浏览器不显示。 2. 在...

Global site tag (gtag.js) - Google Analytics