一、初识知识表
作为 Windows 的核心之一,注册表(Registry)尤如整个系统的大脑,控制着计算机的
各种硬件设备和软件配置,其重要性是不言而喻的。而有关注册表的修改也一直是个十分热
门的话题,许多朋友都不满足于微软强加给我们的安排,很想当个Win Hacker。因此,在各
大电脑报刊上,注册表修改文章屡见不鲜。不过,对于一般的用户来说,尤其是广大的电脑
初学者们,对注册表的理解还是很肤浅的,有的甚至还认为是很神秘,高深莫测。所以在这
儿,我想拿出平生之所学,简单地给大家作一个注册表普及教育,也算是要消除注册表“文
盲”吧。如果说本文能把你领进注册表这扇神秘的大门的话,那我这个老师也算是没有白当
。(咚咚…….只见几个臭鸡蛋飞过来。什么水平!还想当老师……)
好!(从鸡蛋堆里爬出来后,整一整衣冠)废话少说,开始本文正题。
早在Dos和Win3.x的时代,大部分的应用程序都是采用了 ini 文件(初始化文件)来保
存一些配置信息,如设置路径,环境变量等。但ini文件有大小64k的限制,而许多程序都喜
欢向win.ini文件中加入各自的配置,时间一长,系统难免不受到影响。再者,太多的ini文
件也不便于集中管理。所以Windows 95从 NT中引入了注册表的概念,利用一个功能强大的注
册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系
统的稳定性。最直观的一个实例就是,为什么Windows下的不同用户可以拥有各自的个性化设
置,如不同的墙纸,不同的桌面。这就是通过注册表来实现的。
要了解注册表的结构,我们首先需要借助于一款能够查看修改注册表的工具,而这种工
具我们也不必急着四处去找。其实,微软早已为我们准备好了,Windows目录下的名为regedit.exe的文件便是“注册表编辑器”。也许微软认为修改注册表对一般的用户来说太具风险
性,所以并未在开始菜单中提供它的快捷方式,因此为了以后的修改方便,我们有必要自己
动手为它在桌面上建一个快捷方式,要不,你每次要打开“注册表编辑器”(以后简称为regedit)时,都需要先打开开始菜单,然后打开运行再输入regedit,回车后才能启动regedit。这岂不很麻烦?
在具体讲解注册表结构之前,我们还要先掌握几个基本名词,这在以后的使用中是经常
要提到的。
主键:(在NT下又称为项)你可以认为这是整个注册表结构中的一层,有点儿类似于资
源管理器中的目录树结构。所以它的图标与文件夹的图标有点儿想像。
字符串值:顾名思义,一串ASCII码字符。
DWORD值:从字面上理解应该是Double Word ,双字节值。由1~8个十六进制数据组成,
我们可用以十六进制或十进制的方式来编辑。
二进制值:这没啥多说的,0101呗!
搞清这几个概念后,我们开始下面的研究。
打开regedit后,我们会看到主窗口一分为二,左边为主键的目录树结构,右边显示键名
和键值。主键的名称前会有一“+”或“-”号,表示可以折叠或展开。这种显示方式十分接
近于资源管理器的风格,所以相当直观,也很容易让初学者上手。
在“我的电脑”下,我们会看到六大主键(这儿也可称为根键),这六大主键分别为:
HKEY_CLASSES_ROOT:这儿记录着各种文件的关联信息(即打开方式),还有一些类标识
和OLE、DDE之类的信息(这些我也是半瓶醋,那就不多说了)。举个例子,文本文件的扩展
名为txt,在用“详细资料”方式查看时,文件类型显示为“文本文件”,图标为一张纸的图
案。双击一个文本文件时,系统会自动调用“记事本”来打开。这些信息都是从该键下反映
出来的,同理,其它类型的文件也都是注册在这里。
HKEY_CURRENT_USER:在这下面保存着当前登录用户的各种个性化配置,如桌面、墙纸等
。许多应用程序都会在这儿保存一些用户使用界面设置,如窗口的大小、工具栏的位置、最
近打开过的文档等。Windows的多用户设置就是在这里实现的。
HLEY_LOCAL_MACHINE:这里是整个注册表的核心部分,各种硬件软件的配置都存放在了
这里,其下还可以具体分为:
Config 配置,Driver 驱动程序,Enum 即插即用,Hardware 硬件,Network 网络,Security 安全,Software 软件,System 系统这八个部分,每部分还可再分为更细的内容。
HLEY_USERS: 显示当前登录用户和默认用户的配置。
HKEY_CURREN_CONFIG: 为当前硬件配置信息。这是因为Windows可以不同的配件配置情
况启动。因此使用不用配置时这里的内容也会不同,不过,对于大多数用户来说,这儿的作
用不大,很少有人的电脑有两种以上的配置。
HKEY_DYN_DATA:这里的内容是由系统启动时随机生成的,主要包括那些Windows用来操
作各种硬件的动态信息,每次启动时的内容都会不同。一般来说,这儿我们也很少动。
以上只是简单介绍了一下六大主键,其实下面还有更多更细的分枝,限于篇幅,我不可
能每点都介绍到(要真是如此,恐怕要写成一本书了)。需注意一点的是,虽然我们看到的
是六大主键,但实际上有几项是重复的,如HKEY_CLASSES_ROOT和 HKEY_LOCAL_MACHINE\Software\CLASSES下的内容完全相同,这里注册表提供了双重入口,虽然看起来地址不太一样,
但实际都指向同一位置。这也许是为了修改方便吧。所以真正常用到修改的地方只是HKEY_CLASSES_ROOT、 HKEY_CURRENT_USER和 HKEY_LOACAL_MACHINE 这三处。
二、小试牛刀
这一次我们将通过几个修改实例来学习注册表的一些小技巧。
在修改之前,我们先要学会注册表的备份。这点很重要,尤其是在我们不小心改错的时
候,利用备份可以尽可能地还原到修改前的状况。
说了这么长时间的注册表,注册表到底放在哪儿呢?其实注册表可分为两个文件,分别
为 system.dat 和user.dat。注册表中的大部分内容是以二进制的形式放在了system.dat文
件里,该文件在Windows目录下;而HKEY_CURRENT_USER下的信息保存在user.dat文件里,该
文件一般在Windows\profiles\用户名\下,所以谈到注册表的备份实际上就是对这两个文件
的备份。
具体的备份方法可分为自动和手工两种,而自动的方法又有两种。一种是在系统成功地
启动后,Windows会自动把这两个文件分别改名为system.dao,user.dao。所以当Windows因
为造访注册表出错而无法正常启动时,我们可以退到安全模式下,删去system.dat和user.dat文件,然后把system.da0改名system.dat、user.da0为改为user.dat,重启之后便可修复
好注册表的错误了;另一种方法就是Windows98引入了的注册表扫描工具ScanReg,在启动时
,它会自动对注册表进行扫描,并对系统文件及时备份(当然包括这两下文件)。在Windows\sysbacup 目录下你会发现诸如rb000.cab和rb001.cab之类的压缩文件,这几个就是最近的
五个系统备份,当系统出错后,我们可以用WinZip或WinRAR从中提出这两个文件,按照前面
的方法,还原注册表。手工的方法应该说是实用的了,利用注册表编辑器的导入导出功能,
我们可以对注册表的全部或是某一主键下的内容进行备份(以扩展名为reg的文件保存,实质
上是个带特定格式的文本文件)。这也样,在修改某一键值或删除某一主健时,我们可以先
将此处内容导出到一个安全的地方,然后再进行修改。万一改错了,也不必害怕,再把这个
文件导回来就可以恢复了。这种方法虽然对修改多处时有点儿麻烦,但绝对安全可靠。
学会了注册表的备份与恢复后,我们就开始动手改注册表吧。动手之前你可别忘了备份
噢!
例一,给“回收站”改名。
桌面上的大部分图标都可以直接重命名,而“回收站”就是不行,所以我只有动用“注
册表”了。打开Regedit, 展开HKEY_CLASSES_ROOT,再展开CLSID,找到名为{645FF040-5081-101B-9F08-00AA002F954E}的主键,其右窗口中的默认值便是回收站的名称。双击其图标,
在弹出的编辑框里将其改名为“垃圾筒”。切换回桌面,按F5刷新一下。看看它的名字是不
是变成了“垃圾筒”了?大功告成!其实我们也不必这么麻烦非要记住那长长的一串字符,
一点一点去找。利用 regedi t查找功能就可以帮我们快速定位了。按下F3,在查找目标一栏
里填上“回收站”,回车。Regedit 便会自动帮你找到并定位到这个位置了。
例二,美化你的“开始”。
1.加快菜单的弹出速度。
在开始菜单中,下级菜单的弹出总是有点儿延迟,鼠标放上去后总是要等那一会儿才肯
找开下一级的菜单。不过我们可以修改注册表来加快这个弹出的速度。打开Regedit,定位到
HKEY_CURRENT_USER\Control Panel\desktop下,在右边新建一个名为MenuShowDelay 的DWORD值,将其值设为1(1为弹出速度最快)。重启之后,你便会发现开始菜单的弹出速度比以
前快多了。
2.去除“收藏夹”
在Windows98下的开始菜单中会有一个“收藏夹”的菜单,不过对于许多未上网的朋友来
说,很少用到,放在这儿又占地方,所以我们可以动手删掉它,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下,新建一名为NoFavoritesMenu的二进制值,并设为1。重启之后,收藏便从此在开始菜单中消失啦 !当然如果你又想找回
“收藏夹”的话,把值改为0就行了。同理我们还可以去掉开始菜单中的“文档”(NoRecentDocs),“查找”(nofind),“注销”(NoLogOff)和“关闭”(NoShutDown)等。
例三,给IE标题改名
你见过别人的IE标题栏上的“ XX专用浏览器”吗?其实这不难,你也能做到。在HKEY_
LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main下,找到一个名为 Window Title 的字符串,这儿就是IE标题所显示的字样,将其改名为“ XX专用浏览器”。重启 IE之
后,你便能看到自己的大作了。
同理OutLook Express 的标题也可以修改,地址是在HKEY_CURRENT_USERIdentities\{4C44D002-7BCF-11D3-9957-AB53DA238B0C}\Software\Microsoft\Outlook
Express\5.0下的一个名为windowtitle的字符串值(注:{}中的字符不一定完全相同)。
做了这几个小实验后,你是不是已体验到了修改注册表的一种成就感呢?改注册表其实
就这么简单,关键的还是需要事先知道这些秘密,要不你随便改了半天,也不见得会有什么
效果。
三、傻瓜工具
俗话说,“工欲善其事,必先利其器”。要修改注册表,准备一些好的工具还是很必要
的。所以,我将分两次给大家介绍一些有关注册表的工具。本文嘛先给大家送上几个“傻瓜
”。
说是“傻瓜”,但你我都不傻。这类工具的最大特点就是无须你要知道多少有关注册表
的知识(当然知道一点那更好),所以说“傻瓜”也可以完成有关注册表的许多繁杂的修改
,要做的也只是打打勾、填填字而已。
第一位出场的乃是当今红遍国内江山的一只小兔子--“超级兔仔魔法设置器”。这款由
国人蔡旋朋友编写的系统修改工具。凭借了极其友好的界面,方便直观的修改,丰富的修改
内容曾在国内各大软件下载排行榜上居高不下,而且赢得了近500人的注册(注册费用为10元
)(好大的一笔收入啊,惹得我等小辈眼红)。的确,这个小东东确实很好使,我们只用填
几个字,打几个勾就可以完成有关注册表中高深的修改,让我们体验了一下Win Hacker的感
觉吧。
同类产品还有“侠客系统修改”,“豪侠99”及国外的WinHacker 95等。由于功能相近
,使用也很简单,这儿就不多废口舌了。
第二位露面的也是近期排行榜上排名前几位的一只“小猫咪”-“快猫加鞭”。对于大多
数拨号上网的朋友来说,如何让自己的小猫跑快一点儿,一直是很关心,也很着急的。虽然
我们可以通过修改注册表中的MTU值来优化转输速率,但对于大多数人来说还是有点儿高深复
杂。所以左轻候朋友的“快猫加鞭”的推出,吸收了一大批“傻瓜”。一个按纽便将整个优
化全部搞定(唉呀!我都要变“傻”了)。
同类的工具还有MTUSpeed、NetSonic等,它们都提供了对注册表中的某一方面的优化。
第三位见面的其实应该说是注册表工具的老前辈了,经典工具了-Regclean。由注册表“
娘家”微软推出的东东我们还有什么可怀疑的,一个按钮便可完成对注册表的清理工作,你
想干点活儿它都不让。不过它的BUG似乎也不少,而且也已经好久没升级了。
怎么样,用过了以上几个傻瓜工具后你是不是也变“傻”了一点儿?“兄弟”提醒你一
句,这类工具你还是少用一点,要不时间一长,你什么都不想,那不真的要变傻了吗?(当
头一棒)所以下次我将给你介绍几款高级工具,从而更加体现出你老鸟级的水平。
四、老鸟必备
上回介绍的几款傻瓜工具不知大家用后感觉如何?如果你是一只老鸟的话,那它们肯定
满足不了你的需求,如果你还是想做一些更深一层次的研究,那请跟我来吧(回头一看,怎
么没人跟上来???……)
第一位兄弟乃是名气响当当的RegMon-注册表监视器(什么?你没听过?我倒……)。想
玩好注册表,这个工具你可一定要玩通了。利用其强大的监视功能,我们可以对一些程序进
行跟踪,看看程序都在注册表里干了些什么(怎么像是在解密?)。无论是读操作,还是写
改操作都逃不过它那双慧眼,统统记录在案,想逃都逃不掉。也许你会问“监视这些到底有
啥用呀?”“喂,兄弟!你可别搞错了,怎可能没用呢?”要知道,注册表中可藏有好多秘
密啊!注册表中有许多内容就像有些WINAPI函数一样,是未公开过的。既然微软不肯告诉我
们,那我们只有自己动手去找了呗。而且……(小声地说)而且我们还可以借此机会当一回
儿Cracker了(详情请听下回分解)!
由于其使用起来有点复杂,限于篇幅,这儿就只作一些简单的功能上的介绍,具体的使
用大家可参阅我的网站。同类的工具还有RegSnap-注册表快照,它可比较出软件安装前后注
册表中的变化,也挺实用的。
第二位而是在注册表工具市场中突然冒出的一颗灿烂的新星-Resplendent Registrar。
Resplendent Regsitrar以其强大的功能,可以说是有史以来最好的一款注册表工具,当然体
积也有点儿大(1.3MB)。首先得感谢Resplendent Sp公司为我们带来了这么好的佳品。它最
大的一个特点就是其风格上十分接近于资源管理器。在regedit中,右窗口只能显示键名和键
值,而Resplendent Retgistrar(以下简称为RR)可以在右窗口同时显示该级下的主键,这
样使用起来就像是资源管理器了。主界面上还有工具栏,地址栏和描述栏。在地址栏中你甚
至可以像输入网址一样地输入注册表中的地址。回车后,RR 会自动帮你定位到这。描述栏里
也对一些常用的地址给了一个简要的描述,更加方便了初学者,只可惜是英文的。除此之外
还有功能极强的书签,历史记录和查找功能。利用书签,我们可以尽情地在注册表的数据库
海洋里尽情遨游了;而历史记录的功能更是方便了用户,无论你是老鸟还是菜鸟,改错注册
表是在所难免的,而在regedit中连个最基本的撤消功能都没有(哪怕只能恢复一步也行啊!
)。在RR中就不存在这问题,你甚至可以恢复24小时之内的每一次操作,而且只要你愿意,设
为10000天都可以(不过估计你的Windows连100天都撑不了)。我的天啊!这下我们可放心大
胆地改注册表了,当然这一切前提是在你是使用RR改注册表的。
怎么样?光这几个功能就足以让你心动,更何况它在其它各个细节的精心设计。内置了
一个专门编辑注册表文件的编辑器(它可比记事本来编辑强多了),安装后会自动加入到开
始菜单中的查找中去等等,所以我敢说它是目前最好的注册表工具,regedit,你就让它到一
边稍息去吧。
同类的工具还有Regview,也是一个挺有创意的编辑工具,我们可以以“大图标”,“小
图标”,“列表”和“详细资料”四种不同的方向来查看注册表,是不是也很像资源管理器
。要是RR能把这功能也加进来那就更好了。同时RegView还有一个相当不错的功能,具体是什
么,你自己试试看就知道了,你绝不会失望的。
如果你还舍不得放弃regedit,那就请个Registry Studio吧。喝咖啡时我们常常会加点
儿咖啡伴侣,所以用regedit时,你一定要试试Registry Studio(以下简称RS)。启动 RS
时,它会先调出regedit,然后把自己内嵌进去,这样原先的regedit的界面上就有了很大的
改观。菜单栏下多了一条工具栏,很是方便。而最有特色的一项功能便是右窗口上下一分为二
,在增加出来的下窗口里显示一些“书签”。利用这书签,你就可以快速地在注册表里定位
了,双击其中一只,它便会自动帮你展开到这位置,而且展开的速度还特别快。
同类的工具还有RegEditX,它可以为regedit增加一个地址栏,也是挺有创意的。不过它
和RS不能同时使用,否则会出现一些不正常现象。
上面所介绍的只是注册表工具类的一部分,其它种类的还很多,我不能一一概尽,所以
只挑选了其中几款我认为是不错的拿出来重点向大家介绍。想知道更多更详细的内容,欢迎
大家访问我的站点。同时我也提供了上述工具的本地下载,大家不必四处去找了。
下一回我们将谈一谈(声音变小)如何当一回Cracker。
五、当一回Cracker
现在大部分的共享软件都会有个使用时间的限制,一般为30天试用期,试用期满之后,
它便拒绝为你服务了。为此,不少朋友想尽了各种办法来对付这时间问题。比如常用的一种
方法就是调整系统的日期。不过我认为这种修改时间的方法并不太好,最多也只是个下策。
如果今天为了使用这个软件,把时间调一下,明天又是为了那个软件再把时间调一下,几次
下来,岂不太混乱了?(噢!这儿犯了错误,对这台机子来说已经没有今天,明天的概念,
鬼才知道它具体是哪一天呢!)所以我推荐你另一种方法,不需要改系统时间,所做的只是
改几个字节就可以延长软件的使用时间了。
首先,我先介绍一下工作原理。
一般来说,许多软件在第一次运行时,会自动地将当前的时间记录在注册表中。以后的
每一次运行,都会先从注册表中读出这个时间,然后再和当前的时间作比较,一旦发现超过
试用期限,那就……嘿嘿……Game Over。所以我们修改的方法有两种,一种就是前面所述的
改系统时间,另一种则是改注册表中的这个时间。两种方法孰好孰坏,想必不用我多说,大
家心知肚明。
下面我就以最新版的Paint Shop Pro 6.0 (Evalution版而不是Beta之类的版本)为例
,介绍一下具体修改过程。
修改之前你先要作好以下几个准备工作,第一,准备好RegMon(上次介绍的注册表监视
器);第二,安装好Paint Shop Pro ;第三,(可选)挑几个好一点儿的注册表编辑工具。
准备好这些后,那我们开始出发。打开RegMon,在过滤设置中填上psp(Paint Shop Pro 的
执行文件名),表示只对PSP文件进行监视。设好过滤之后,开始监视。打开PSP,在出现启
动画面和显示已使用时间的时候停止监视。想想在这一段时间里,PSP会从注册表中读取哪些
信息呢?然后仔细分析一下监视到的结果(重点在后一部分,想一想这是为什么?)。由于
软件把这个时间是以加密的形式存放在注册表中,所以RegMon监视到的数据中有一串很奇怪
的字符便是这时间了。虽然我们并不知道它具体的加密算法,但最简单的一个删除不就解决
问题了吗?双击监视到的这个数据,直接让步RegMon打开RegEdit,定位到HKEY_CLASSES_ROOT\CLSID\{ADBB2D80-5DFD-11D2-A00C-00104B65AAF5}\MS,将右窗口中的iPID60u值删掉。重
启PSP,这时你便会发现它又从第一天开始计时了。修改起来就是这么简单。
怎么样,你是不是找到了一种Cracker的感觉?不过在这里提醒你一句,对于修改软件的
使用时间你最好只是个人研究,切记不可用作商业用途。毕竟这是违反软件的版权保护的,
我们不花钱一直免费试用,心中也不安心啊!
六、网上资源
前面几讲介绍了注册表的一些基本知识,修改实例及相关工具,不知大家都掌握的怎么
样了?其实最好的方法还是大家买一本有关注册表的书,这样可以比较系统地学习一下。我
可以推荐你一本曹国钧、王健编写的《中文WIndwos95/98注册表、配置与应用实例》,我认
为这书写得还是相当不错的,很系统也很详细。该书具体地分析了注册表结构中每一个主键
下的含义,而且还有许多修改的实例。所以无论是对菜鸟还是老鸟来说都是有一定的资料价
值的。
互联网的兴起使得我们可以很容易地就在网上找到了自己想要的资源。所以作为本专题
的完结篇,我将向大家介绍网上一些有关注册表的网站。相信大家会从中找到许多实用的东
西的。
“一日学会Windows注册表”http://win2000.nethome.com.cn
这个网站是由刚才前面所提到的曹国钧所维护的,也许可以称得上是国内第一家注册表
专业性的站点(目前国内专门以注册表为内容的站点还不多),内容还是挺丰富的。虽然你
不可能真的像其网站名称那样一天就能学会注册表,但至少你这一天会从中有所收获的。只
可惜这个站点已经有很长很长的时间未作更新了(快一年了!),这不能不说这是一个遗憾
。
Regedit.com http://www.regedit.com
没想到这么好的一个域名给澳大利亚的一位朋友抢注了。唉呀!生不逢时啊,要是我能
再早一步……这个网站里有丰富的数据库,你可以通过它的搜索引擎来查找一些修改的技巧
,内容还是多多。最令人欣赏的是它提供一个帮助文件的下载,大小虽然只有100多KB,但已
包括了数据库的绝大部分技巧。所以我们只需下载这个帮助文件后,就不必多花时间在这儿
浏览了。
Softseek http://www.softseek.com/Utilities/Registry_Editors_and_Utilities/
在网上的各大软件下载中心转了这么久,也还从未发现过有一个网站能够分类这么细致
的。我第一次来这儿,便轻松地找到注册表工具一页,而且还发现了光是注册表这一类工具
就有34种之多。没几家网站能有这儿全的吧。所以强烈推荐你去这个站头瞧瞧。你肯定会有
很多收获的,不过,到时你可别让“小蚂蚁”累着了。
TUCOWS http://www.tucows.com
“奶牛场”的大名你不会没听说过吧。只可惜这么大的下载中心,有关注册表的这一块
收录的并不多,只有寥寥的六种,而这六种中竟还有一个相当“恶心”的工具。庞大的1.8MB,让我的小蚂蚁拖得好累,拉回来后还要掰成两半,分装到两张软盘里才能带回来。拿回来
拼装好之后我一试用,大呼上当!这么大的一个软件仅几项修改选项,而且这几项修改别的
工具做得都比它好。这一次让我对奶牛场只能摇摇头了。
注册专卖店 http://registry.yeah.net或http://regshop.topcool.net
这次我也就“王婆卖瓜,自卖自夸”一回吧。
做这个网站,我花了不少心思,前前后后投入了几百个小时的心血。自认为内容还是相
当不错的,为大家提供有关注册表的各方面内容,包括基本知识、应用文章、修改实例、相
关软件下载及特别地带几块。只可惜网站最多只是每周更新一次,这没办法,我最多也只不
过是一周上一次网,所以自建站以来,知名度一直不太高。不过我也正在努力,希望能多拿
出一些好的稿件来扩大影响。同时还望朋友们能多多捧场,当然提些意见那就太好了。一个
网站的发展离不开广大网友们的支持。欢迎大家继续关注我的“注册表专卖店”。