1、注册表的基本信息注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些 注册表是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 相关注意事项在系统中注册表是一个记录32位驱动的设置和位
2、置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的
3、信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所有用户来说项都是公用的。 有些程序功能对用户有影响,有些是作用于计算机而不 注册表是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式注册表控制用户模式的例子有: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算
4、机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 注册表控制计算机条目这里是在注册表基于计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 控制应用程序的功能及多个应用程序的交互在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和
5、Win95系统管理基本常识。 编辑本段打开注册表编辑器方式两种打开方式Win98/98SE/Me 运行中输入regedit.exe 无权限限制 Win2000/XP 1.开始运行.中输入regedit 2.开始运行.中输入regedt32 两种方式比较第一种方法打开的注册表编辑器和Win98下的一样,而且功能相同,而使用第二种方法打开的注册表编辑器则可以方便的设置权限,建议网络管理员使用第2种方法打开注册表编辑器修改需要修改的权限设置部分以免被他人恶意修改。 Windows Vista/7 1.在开始菜单搜索框中输入regedit并按回车键.(需要管理员权限) 2.在运行中输入regedit.
6、exe(需要管理员权限) 修改权限当你选中一个键值的时候,编辑下拉菜单下就可以看到一个选项-权限,用鼠 注册表标单击这个选项以后会出现图2的窗口。用鼠标分别单击各个用户组就可以看到不同的权限限制,如果你觉得某一个用户组的权利太高了,就可以在下方修改权限(注意:必须赋予Administrators组用户完全权限,否则一旦你或相应的软件、驱动程序要修改注册表,但是由于所有的组用户都没有权限修改,所以你将不能够成功安装。所以必须把完全权限赋予Administrators组用户(系统默认)。图3是Administrators组用户所拥有的权限。 编辑本段存放位置2000/XP注册表文件按功能来分,也是
7、由系统注册表文件和用户注册表文件两类组成的 注册表文件存放系统的所有设置信息: 系统设置和缺省用户配置数据存放在系统系统文件夹SYSTEM32CONFIG文件夹下的6个文件,DEFAULT、SAM、SECURITY、SOFTWARE、USERDIFF和SYSTEM中,而用户的配置信息存放在系统所在磁盘的Documents and Setting文件夹,包括ntuser.dat ntuser.ini ntuser.dat.log 编辑本段结构简介注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一
8、个绝对唯一的注册表。 计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。 当你选中一个键值的时候,编辑下拉菜单下就可以看到一个选项-权 注册表限,用鼠标单击这个选项以后会出现图2的窗口。用鼠标分别单击各个用户组就可以看到不同的权限限制,如果你觉得某一个用户组的权力太高了,就可以在下方修改权限(注意:必须赋予Administrators组用户完全权限,否则一旦你或相应的软件、驱动程序要修改注册表,但是由于所有的组用户都没有权限修改,所以你将不能够成功安装。所以必须把完全权限
9、赋予Administrators组用户(系统默认)。图3是Administrators组用户所拥有的权限。 数据结构注册表由键(或称“项”)、子键(子项)和值项构成。一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。 在注册表编辑器(Regedit.exe)中,数据结构显示如下,其中,command键是open键的子键,(默认)表示该值是默认值,值名称为空,其数据类型为REG_SZ,数据值为%systemro
10、ot%/system32/NOTEPAD.EXE %1 数据类型注册表的数据类型主要有以下四种: 显示类型(在编辑器中)数据类型说明REG_SZ字符串文本字符串REG_MULTI_SZ多字符串含有多个文本值的字符串REG_BINARY二进制数二进制值,以十六进制显示。REG_DWORD双字一个32位的二进制值,显示为8位的十六进制值。12 各主键的简单介绍HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无
11、关,因为这些设置是针对使用这个系统的所有用户的。 HKEY_LOCAL_MACHINEAppEvents 为了以后在客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。 HKEY_LOCAL_MACHINEConfig 这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键 HKEY_LOCA
12、L_MACHINEConfig01Display 这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等 HKEY_LOCAL_MACHINEConfig01System 这个键保存着系统里打印机的信息 HKEY_LOCAL_MACHINEConfig01SystemCurrentControlSetControlPrintPrinters 在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表 HKEY_LOCAL_MACHINEEnum Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini
13、文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名 注册表表示它们各自的硬件设备信息。 HKEY_LOCAL_MACHINEEnumBIOS BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中 HKEY_LOCAL_MACHINEEnumRoot Root键包括
14、所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。 HKEY_LOCAL_MACHINEEnumNetwork win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。 HKEY_LOCAL_MACHINEHARDWARE hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信
15、息,及数学处理器和串行口。 HKEY_LOCAL_MACHINENetwork 这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。 HKEY_LOCAL_MACHINESECURITY security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络
16、地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上 HKEY_LOCAL_MACHINESOFTWARE 这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。 我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键: 1.App paths: 你曾经安装过的所有32位软件的位置。 2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。 3.Det
17、ect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer-它们指出了回收站和拨号网络的CLSID行-和提示子键可以让你建立自己的提示。 4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。 5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。 6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。 7.MS-DOS Options :在dos模式下的设
18、置,如himem.sys,cd-roms等。 8.Network :网络驱动的配置。 9.Nls, Policies :系统管理员认为你不应该去做的事。 10.ProfileList :所有可以登陆你计算机的用户名列表。 11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。 Run : 程序在启动时运行 RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。
19、RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。 RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。 注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服
20、器,在这里可以去掉它)。 12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。 13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。 14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。 15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。 16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.)winlogo
21、n(包含了合法登陆布告的文本句) HKEY_LOCAL_MACHINESYSTEMCurrentControlSet 这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 这个键包括了所有win95的标准服务。所有
22、被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。 HKEY_LOCAL_MA
23、CHINESYSTEMCurrentControlSetServicesinetaccs 这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32 msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32 nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程
24、和证明者的信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess 在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP 这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD vxd键包括了win95中所有3
25、2位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock 这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。 HKE
26、Y_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。 HKEY_CLASSES_ROOT 在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。 HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Win
27、nt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。 在Windows用户图形界面下,每件事-每个文件,每个目录,每个小程序,每个连接,每个驱动-都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为: 一个对象类型和一个文件扩展名关联 一个对象类型和一种图标关联 一个对象类型和一个命令行动作的关联 定义对象类型相关菜单选项和定义每一个对象类型
28、属性选项 在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型) HKCR包括了三种基本类型的子键 ? 或者文件扩展名子键 文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。 object 类型子键 对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。 CLSID 子键 在Windows下每件事
29、都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好像你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个
30、CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。 CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序-这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。 注解: 1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行C:Windows Notepad.exe %1)子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1