当前位置:中国星空学习网首页>实用技术>注册表>正文  
一步一步教你用JS、INF编辑注册表

 
  JScript小知识:JScript是一种解释型的、基于对象的脚本语言。尽管与C++这样成熟的面向对象的语言相比,JScript的功能要弱一些,但对于它的预期用途而言,JScript的功能已经足够大了。JScript程序是语句的集合,一条Jscript语句相当于英语中的一个完整句。Jscript语句将表达式组合起来,完成一个任务。一条语句由一个或多个表达式、关键字或者运算符(符号)组成。典型地,一条语句写一行,尽管一条语句可以超过两行或更多行。两条或更多条语句也可以写在同一行上,语句之间用分号“;”隔开。通常,每一新行开始一条新语句,分号(;)是JScript语句的终止字符。
  
  一、用JS编辑注册表
  事实上,JS的主体和VBS文件差不多,就是结构有一点不同而已!所以我们就不多说了。下面是个用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!”等等。
  

 

  展开这个主键,还可以看到另外一个主键,名为“测试”,是不是感到很奇怪啊?其实这一招并不神秘,就是那个INF文件捣的“鬼”!
  
  由上可知,INF文件是由各个小节(Section) 组成,各小节之间必须空一行。小节的名字从中括号“[”起至“]”结束,小节的名字是它的入口点,在此文件中必须是唯一的。小节名之后是小节内容,形式上是“键名称=键值”。在文件中可以添加注释,由分号“;”完成,分号后的内容不被解释执行。书写INF文件的格式如上所示,其各项含义如下:
  
  [Version]:指明能够使用的Windows版本
  Signature:系统从这里来看是不是适合当前版本,如果适合的话就执行,否则不执行。
  [DefaultInstall]:指出该INF文件包含的其他小节。可将INF文件看成是以[DefaultInstall]为主干的树,在这儿我们可以加入AddReg和DelReg键,它们指定希望添加,编辑,修改或是删除注册表项的小节名称。
  Addreg=add:表示在注册表中添加内容,此项就指定了要添加的注册表小项的各称,包含有具体添加和删除信息的小节均使用类似格式如下:
  
  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的任意文件,然后用右键点击它,在弹出菜单中选择“安装”即可给注册表解锁。
  
  请大家特别注意:采用此方法修改注册表危险度很高,而且格式要求也很严(必须使用英文标点符号,而且。请按照本文中的格式书写),望大家小心使用。好了,就先谈这么多,由于水平有限,不当之处请大家批评指正。

 

上一篇: Windows XP注册表“四兄弟”完全解析
下一篇: Windows系统注册表知识完全揭密
站内公告
栏目导航
 Windows系统
 Linux/DOS
 办公应用
 工具软件
 图形图象
 网络应用
 安全防御
 网络编程
 软件教程
 实用技术
最新文章
中国星空图片网
·人体艺术
·性感美眉
·生活自拍
·幽默搞笑
·超级帅哥
·精彩万花筒
·梦幻景色
中国星空探索网
·神秘追踪 灵异接触
·鬼故事 灵异空间 图片
·未解之谜 探索宇宙
中国星空两性网
·两性图文 我的性事 情人 成人幽默
·性爱技巧 两性测试 性爱误区
·性事花边 生育避孕 性保健 性疾病
·两性生理 文化 讨论 心理 知识
·爱人同志 非常男女 一夜情
中国星空算网命
·手机吉凶 QQ号码吉凶 周公解梦
·塔罗牌测试 狗年运程
·关公灵签 紫薇斗数 八字排盘
·测试:你的成功指数有多少
·测验你的家庭是否美满?
·面相: 面型 眼睛 耳朵 口唇
·手相:拉你一把奶油桂花手
·测试:你能成为大富翁吗?
联系方式 设为首页
中国星空旗下---中国星空学习网    Copyright 2005-2050 Year   xx.happy369.com  Networks.All rights reserved
中国星空网所有内容均来源于网络,版权属于原作者,如侵犯到您的权益,请与我们联系,我们将尽快予以删除或处理。
中国星空不承担由于内容的合法性及健康性所引起的一切争议和法律责任。
陕ICP备05011765号 联系我们