《注册表全解》word版.docx
《《注册表全解》word版.docx》由会员分享,可在线阅读,更多相关《《注册表全解》word版.docx(18页珍藏版)》请在冰豆网上搜索。
![《注册表全解》word版.docx](https://file1.bdocx.com/fileroot1/2023-6/14/e69cd390-abd7-4fab-ba61-b8bf961ab7b8/e69cd390-abd7-4fab-ba61-b8bf961ab7b81.gif)
《注册表全解》word版
注册表全解1
注册表全解
(1)2010-06-2322:
34注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。
在不同系统上注册表的基本结构相同。
其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。
计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中:
DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。
Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。
所有硬件设置和软件信息也保存在这个文件。
它要比NT注册表文件简单的多,因为这里并不需要更多的控制。
Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。
这使得Win95注册表工作比NT更容易,所以这个文件也比较小。
Win95用户的注册数据一般被保存在windows目录下的user.dat里。
如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在\WINDOWS\Profiles\username\USER.DAT下它自己的user.dat文件。
在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。
控制键
在注册表编辑器中注册表项是用控制键来显示或者编辑的。
控制键使得找到和编辑信息项组更容易。
因此,注册表使用这些条目。
下面是六个控制键
HKEY_LOCAL_MACHINEHKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_DYN_DATAHKEY_USERSHKEY_CURRENT_USERWinnt和Win95的注册表并不兼容。
从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。
通过控制键可以比较容易编辑注册表。
虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG是HKEY_LOCAL_MACHINE的一部分。
HKEY_CURRENT_USER是HKEY_USERS的一部分。
HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。
每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。
HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINE\SOFTWARE\Classes,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。
HKEY_USERS保存着缺省用户信息和当前登陆用户信息。
当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。
其他用户的信息并不发送到系统,而是记录在域控制器里。
键和子键
数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。
每个键有成组的信息而且根据在其中的数据类型被命名。
每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。
当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。
所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。
所有安全策略,用户权限和共享信息也包括在这个键中。
用户权限,安全策略,共享信息可以通过WindowsNT域用户管理器,Explorer和Win95中控制面板来设置。
HKEY_CLASSES_ROOTHKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息:
在文件和应用程序之间所有的扩展名和关联;
所有的驱动程序名称;
类的ID数字(所要存取项的名字用数字来代替);
DDE和OLE的信息;
用于应用程序和文件的图标;
HKEY_CURRENT_CONFIG.
HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。
如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。
在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。
当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。
在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。
根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。
HKEY_DYN_DATAHKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。
Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。
它保存在内存中,Win95用它来控制硬件。
因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。
在启动时Win95必须计算超过1600种可能的配置。
所以,如果系统变既定的设置而没有报告给Win95那么潜在的问题就可能发生。
系统大多数时间工作良好,但是并非一直如此。
HKEY_USERSHKEY_USERS仅包含了缺省用户设置和登陆用户的信息。
虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。
这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。
HKEY_CURRENT_USER
用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。
各主键的简单介绍
HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。
HKLM键保存着计算机的系统信息。
它包括网络和硬件上所有的软件设置。
(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。
HKEY_LOCAL_MACHINE\AppEvents
为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。
应用程序实际上都驻留网络服务器上,这些键会保存部分指针。
HKEY_LOCAL_MACHINE\Config
这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。
这些配置在启动时通常被复制到HKCC。
每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。
如果你只有一个单一的配置,那就只会有0001这个键
HKEY_LOCAL_MACHINE\Config01\Display
这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等
一个小技巧:
当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。
进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。
HKEY_LOCAL_MACHINE\Config01\System
这个键保存着系统里打印机的信息
HKEY_LOCAL_MACHINE\Config01\System\CurrentControlSet\Control\Print\Printers
在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表
HKEY_LOCAL_MACHINE\EnumEnum键包含启动时发现的硬件设备和那些既插即用卡的信息。
Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。
那些在启动时被安装的和被检测到的硬件会显示在这里。
子键包括BIOS,ESDI,FLOP,HTREE,ISAPNP,Monitor,Network,Root,SCSI,和VIRTUAL。
子键名表示它们各自的硬件设备信息。
HKEY_LOCAL_MACHINE\Enum\BIOSBIOS键保存着系统中所有即插即用设备的信息。
它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。
如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中
HKEY_LOCAL_MACHINE\Enum\RootRoot键包括所有非即插即用设备的信息。
在这里,我们可以迅速断定哪些设备是即插即用,那些不是。
比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。
HKEY_LOCAL_MACHINE\Enum\Networkwin95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。
HKEY_LOCAL_MACHINE\HARDWAREhardware子键包括了两个多层的子键:
DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。
还有一个设备映射键,它下面的串行键列出你所有的com端口。
这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。
HKEY_LOCAL_MACHINE\Network
这个键仅保存网络登陆信息。
所有网络服务细节都保存在HKEY_LOCAL_MACHINE\Enum\Network这个键中。
这个键有一个子键,logon,包括了lmlogon(本地机器登陆?
0=false1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆,微软网络客户方式等),用户名和用户配置。
HKEY_LOCAL_MACHINE\SECURITYsecurity有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上
HKEY_LOCAL_MACHINE\SOFTWARE
这个键列出了所有已安装的32位软件和程序的.ini文件。
它包括了变化,依靠软件安装。
那些程序的控制功能在这里的子键中列出。
多数子键简单的列出了安装软件的版本号。
我们在\Microsoft\Windows\CurrentVersion下发现了一些有意思的设置,它有如下子键:
1.Apppaths:
你曾经安装过的所有32位软件的位置。
2.Applets,Compression,ControlsFolder:
包括下控制面板象显示属性那样属性条的附件。
3.Detect,explorer:
很多有意思的子键如NamespacekeysofDesktop和MyComputer--它们指出了回收站和拨号网络的CLSID行--和提示子键可以让你建立自己的提示。
4.Extensions:
一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。
5.Fonts,fontsize,FSTemplates:
系统属性条中所选择文件系统模板,服务器,桌面计算机或者笔记本电脑信息。
6.MS-DOSEmulation:
包括一个应用程序兼容子键为大量过时的程序二进制键所设。
7.MS-DOSOptions:
在dos模式下的设置,如himem.sys,cd-roms等。
8.Network:
网络驱动的配置。
9.Nls,Policies:
系统管理员认为你不应该去做的事。
10.ProfileList:
所有可以登陆你计算机的用户名列表。
11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。
它们在HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\下的子键中被执行。
Run:
程序在启动时运行
RunOnce:
windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。
RunServices:
它就象Run一样,但是包含了"服务",它不象一般的程序它们是比较重要的或者是"系统"程序。
但是它们不是VXDs,就象McAfee或者RegServ工作一样。
RunServicesOnce:
它只运行一次,但是是"系统自身"的安装(大量的windows安装参数:
通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。
注意:
在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。
在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。
12.SharedDLLs:
共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。
13.ShellExtensions:
列出了"被认可的"OLE注册条,和相应的CLSID连接。
14.ShellScrap:
这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。
15.TimeZones:
主键值是你现在的时区;子键定义了所以可能的时区。
16.Uninstall:
这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。
和安装向导相似.)winlogon(包含了合法登陆布告的文本句)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
这个子键包括设备驱动和其他服务的描述和控制。
不同于windowsnt,win95只包括限制驱动的控制设置信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
这个子键包括了win95控制面板中的信息。
不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
这个键包括了所有win95的标准服务。
所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Arbitratorsatbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。
四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Classclass键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\inetaccs
这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。
0或者更高版本才出现。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSNP32msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNP32nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess
在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP
这个键包括了所以snmp(简单网络管理协议)的参数。
它包括了允许的管理,配置陷阱,和有效的团体。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxDvxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebPostwebpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock
这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinTrustwintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。
HKEY_CLASSES_ROOT
在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。
这个在Win95和Winnt中是相通的。
HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。
它同样也决定了当一个文件被双击时起反应的相关应用程序。
HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINE\Software\Classes是相同的。
程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。
在Windows用户图形界面下,每件事--每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。
HKCR包含着对象类型和它们属性的列表。
HKCR主要的功能被设置为:
一个对象类型和一个文件扩展名关联
一个对象类型和一种图标关联
一个对象类型和一个命令行动作的关联
定义对象类型相关菜单选项和定义每一个对象类型属性选项
在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。
用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。
改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型)
HKCR包括了三种基本类型的子键
\?
或者文件扩展名子键
文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。
\object类型子键
对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。
\CLSID子键
在Windows下每件事都被用一个数字取代它的名字来对待。
就象人往往是用名字来处理事情一样。
CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。
是微软为制造商分配的,每一个都必须是唯一的。
制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。
注册表是应用程序进行时它们需要关于做什么的指示的数据库。
比如说,假定你有一个微软Excel7电子数据表的Word7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。
它是如何知道该做什么呢?
每个Excel7创建的文件都有Excel的CLSID连接。
Word读这个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")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。
其他操作选项包括View,Print,Copy,Virus,Scan等等。
2)shellex:
Shellex键有一个子键。
它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件)
3)shellnew:
ShellNew包含了一个"command"句,它包含了一个打开对象类型"新"文件的命令行。
4)DefaultIcon:
DefaultIcon子键包含了一个"default"句,?
/div
注册表全解32007-06-0704:
09处理
路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcANYWHERE\CurrentVersion\Host
键值名称:
PromptIfLoggedOut
数据类型:
DWORD
键值:
1,表示当远端主机处于WindowsNT登陆状态且"Prompt()=OnConnection"and
"DisconnectOnTimeout"都选中时用户不进行连接
备注:
作用:
继承远端打印模式
路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcANYWHERE\CurrentVersion\RemoteControl
键值名称:
Print
数据类型:
DWORD
键值:
0:
忽略;1:
主机;2:
远端;3主机与远端
备注:
作用:
快速发送文件大小限制
路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcANYWHERE\CurrentVersion\FileTransfer
键值名称:
SpeedSendMinimumSize
数据类型:
数值KB
键值:
-(默认为10)
备注:
作用:
确认远程文件发送
路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcANYWHERE\CurrentVersion\FileTransfer
键值名称:
ConfirmSend
数据类型:
DWORD
键值:
1
备注:
作用:
确