注册表管理工具设计与实现本科毕业设计.docx
- 文档编号:7551212
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:31
- 大小:197.65KB
注册表管理工具设计与实现本科毕业设计.docx
《注册表管理工具设计与实现本科毕业设计.docx》由会员分享,可在线阅读,更多相关《注册表管理工具设计与实现本科毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。
注册表管理工具设计与实现本科毕业设计
注册表管理工具的设计与实现
摘要
由于Windows的注册表几乎包含了所有的Windows系统软硬件的配置信息和初始化信息,因此,它是Windows操作系统的核心。
当用户在编辑注册表的时候,很容易破坏注册表数据,结果会导致操作系统瘫痪,所以注册表工具成为用户的一种常用的工具软件。
该课题从注册表的常见编辑功能出发,进行集成化设计,为用户提供一种实用的注册表工具软件。
该工具软件在VC6.0开发环境下完成了5项主要功能,即系统基本配置管理、系统安全管理、WindowsXPsp2设置技巧、应用软件优化和反黑防毒。
其中系统基本配置管理完成了主机名修改、修改注册用户和公司名、个性化电脑、系统优化设计管理、网络管理;系统安全管理完成了隐藏盘符、浏览缺省主页的修改及锁定、设置IE安全、拒绝匿名访问和桌面安全;WindowsXPsp2设置技巧完成了系统设置、安全设置、网络设置;应用软件优化完成了NetMeeting优化设置、WinRAR优化设置、WindowsMediaPlayer优化设置;反黑防毒抵御了常见的攻击行为,即SYNFlood攻击、BackDoor攻击、WinNuke攻击。
最后,通过测试,满足了用户常用需求,但是还需要进一步详细设计,才能成为一个功能强大的注册表管理工具。
关键词:
注册表;键值;Windows
DesignandImplementationofManagementToolforRegistration
Abstract
Windowsregistrationalmostincludesallconfigurationandinitialinformationofsoftwareandhardware,soitisthecoreofwindowsoperationsystem.Itisveryeasytodestroytheregistrydatawhenuseriseditingregistration,itevencanleadsystemtoparalysis,sotheregistrationtabletoolsbecomeakindofsoftwaretoolsincommonuse.Thedesignofthisprojectbasingthefunctionoftheregistrycommoneditionisintegrateddesignthatistoprovideapracticalregistrysoftwaretool.FivemainfunctionsarecompletedinVC6.0developmentenvironmentthataresystemconfigurationmanage,systemsecuritymanagement,andskillofsettingWindowsXPsp2,optimizationofapplicationsoftwareandanti-virusandanti-hacking.Thesystembasicconfigurationmanagementincludesmodifyhost,userandcompanynames,andindividuationcomputer,managingsystemoptimizationdesign,networkmanagement.Systemsecuritymanagementincludeshidingdrive,modifyingandlockingthedefaulthomepage,settingIEsecurity,refusingtoanonymousvisitsandsettingdesktopsecurity.SkillofsettingwindowsXPsp2includesconfiguringsystem,configuringsecurity,andconfiguringnetwork.OptimizationofapplicationsoftwareincludesNetMeetingoptimization,optimizationWinRARsetting,andWindowsMediaPlayeroptimization.Anti-virusandanti-hackingdefendthecommonattackbehaviorsuchasSYNFloodattack,BackDoorattack,WinNukeattack.Finally,itsatisfiestheusersbythetest,butthefurtherdetaileddesignisneeded,thenitwillbecomeapowerfulmanagementtoolofwindowsregistration.
Keywords:
Registration;Keyvalue;Windows
论文总页数:
30页
商业源代码,全套计算机毕业设计免费下载
更多全套设计联系QQ:
1042897696
最新设计大全
1引言
1.1课题背景
在Windows3.X时代,主要是通过Win.ini和System.ini文件对Windows进行配置的,但是Win.ini和System.ini文件存在安全性不高,大小受到限制等问题,为了解决这一问题Microsoft公司(Windows系统的开发者)在Windows95版本及以后的版本中引入了注册表这一概念,以便更好的对Windows系统进行更好的配置,这就是为什么我们要使用注册表。
注册表的主要功能简单的说,它是用来对Windows操作系统进行配置的一个工具。
通过它,可以对操作系统以及应用软件进行优化,可以自己设置Windows的使用权限,可以解决硬件及设置不当带来的故障,甚至可以改造操作系统。
1.2课题研究的意义
注册表被称为Windows操作系统的核心,它实质上是一个庞大的数据库,存放了关于计算机硬件的全部配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备的说明以及各种状态信息和数据,包括Windows操作时不断引用的信息。
具体来说,在启动Windows时,注册表会对照已有硬件配置数据,检测新的硬件信息;系统内核从注册表中选取信息包括要装入什么设备驱动程序,以及按什么次序装入,内核传送回它自身的信息,例如版权号;同时设备驱动程序也向注册表传送数据,并从注册表接收装入和配置参数,一个好的设备驱动程序会告诉注册表它有使用什么系统资源,例如硬件中断或DMA通道等,另外,设备驱动程序还要报告所发现的配置数据;为应用程序或硬件的运行提供增加新的配置数据的服务。
1.3课题研究的方法
注册表管理工具是建立在WindowsXP、Windows2000和Windows2003平台上的应用程序设计。
要掌握注册表各个根键所对应的系统功能,要清楚的知道注册表的数据类型。
要对注册表的相应的键值进行准确的读取和写入,使用MicrosoftVisualC++6.0作为开发工具,利用VC提供的API函数完成应用程序的编写。
主要运用RegOpenKeyEx()、RegQueryValueEx()、RegSetValueEx()等函数来完成注册表键值的读写、创建与删除,从而实现对系统设置。
2理论基础
2.1Windows2000/XP的物理文件构成
在讲述Windows2000的物理文件构成时,必须提到一个概念,即配置单元文件。
在Windows2000注册表编辑器中,文件菜单下有个“加载/卸载文件配置单元”选项。
所谓的配置单元是作为文件出现在硬盘上的注册表的一部分。
注册表子树被划分成配置单元。
配置单元是根键、子键和键值的离散体,它位于注册表层的顶部。
配置单元受Systemroot\System32\Config或Systemroot\ProFile\Username文件夹中的单个文件和.log文件的支持。
默认情况下,大多数配置单元文件(Default、SAM、Security、Software和System)存储在Systemroot文件夹。
而每个计算机用户的配置文件信息(包括Ntuser.dat和Ntuser.dat.log)的位置,取决于Windows2000是全新安装还是从Windows95/98或从WindowsNT升级安装。
在全新安装以及从Windows95/98升级安装的情况下,Ntuser.dat和Ntuser.dat.log文件存储在%SystemDrive%\DocumentsandSettings\Username文件夹中。
在从WindowsNT升级的安装中,Nturser.dat和Ntuser.dat.log文件存储在%Systemroot%\ProFile\Username文件夹中。
因为配置单元是一个文件,所以它可以从一个系统移动到另一个系统。
但是,你必须使用注册表编辑器编辑该文件。
Windows2000注册表中的每个配置单元均与一组标准文件相关联。
如下表1所示显示运行Windows2000的计算机的标准配置单元和文件:
表1配置单元与对应的文件
注册表配置单元
对应的文件名
HKEY_LOCAL_MACHINE\SAM
Sam和Sam.log
HKEY_LOCAL_MACHINE\SECURITY
Security和Security.log
HKEY_LOCAL_MACHINE\SYSTEM
System和System.log
HKEY_CURRENT_CONFIG
System和System.log
HKEY_CURRENT_USER
Ntuser.dat和Ntuser.dat.log
HKEY_USERS\DEFAULT
Default和Default.log
HKEY_LOCAL_MACHINE\SOFTWARE
Software和Software.log
WindowsXP注册表物理文件构成与Windows2000基本相同。
知道Windows注册表物理文件的构成及保存位置对于注册表的备份和恢复十分有用。
因此,这里有必要介绍注册表物理文件的另一个保存位置:
Windows\Repair。
这个文件夹中保存的是初始化注册表的5个文件(System、Software、SAM、Security、Default),在因注册表的无缘无故造成系统崩溃时,将它们复制到System32\Config(先将备份后删除)中可以来挽救系统。
2.2五大注册表根键的概述
2.2.1WindowsNT注册表五大根键
WindowsNT的注册表只包含了五大根键,在注册表编辑器的组织结构中,去掉了HKEY_DYN_DATA根键,使注册表编辑器开始显示为五大根键;以后基于NT的操作系统Windows2000/XP/2003也都显示为五大根键。
(1)HKEY_LOCAL_MACHINE:
用于保存本机系统的信息,包含硬件与操作系统的数据,如驱动程序、系统配置信息等;
(2)HKEY_CLASS_ROOT:
用于保存与文件关联有关的信息;
(3)HKEY_CURRENT_CONFIG:
保存与当前的硬件配置文件有关的数据;
(4)HKEY_CURRENT_USER:
保存与当前登录用户有关的环境设置的数据,包括桌面设置、网络连接等;
(5)HKEY_USERS:
保存当用户登录时,所有必须载入的用户配置文件数据,包括缺省的配置文件和登录者的环境配置文件。
2.2.2Windows2000注册表的五大根键
像WindowsNT一样,Windows2000的注册表编辑器去掉了HKEY_DYN_DATA根键,只有HKEY_LOCAL_MACHINE、HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG、HKEY_USERS、HKEY_CURRENT_USER五个根键:
(1)HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE根键中保存的是用来控制系统和软件的设置。
由于这些设置是针对那些使用Windows系统的用户而设置的,是一个公共配置信息,所以它与具体用户无关。
该根键包含下面五个子键:
●HARDWARE子键
该子键包含了系统使用的浮点处理器、串口等有关信息。
在它下面保存了一些有关超文本终端、数字协处理器和串口等信息。
●SAM子键
该子键已经被系统保护起来,我们不可能看到里面的内容。
●SECURITY子键
该子键位于HKEY_LOCAL_MACHINE\Security分支上,该分支只是为将来的高级功能而预留的。
●SOFTWARE子键
该子键中保留的是所有已安装的32位应用程序的信息。
各个程序的控制信息分别安装在响应的子键中。
由于不同的计算机安装的应用程序互不相同,因此这个子键下面的子键信息会有很大的差异。
●SYSTEM子键
该子键保存的是启动时所使用的信息和修复系统时所需的信息,其中包括各个驱动程序的描述信息和配置信息等。
System子键下面有一个CurrentControlSet子键,系统在这个子键下保存了当前的驱动程序控制集的信息。
(2)HKEY_CLASSES_ROOT根键
在Windows2000中对HKEY_CLASSES_ROOT子树做了改进。
HKEY_CLASSE_ROOT子树与当前注册使用的用户有关,它实际上是HKEY_CURRENT_USER\SOFTWARE\Classes和HKEY_LOCAL_MACHINE\SOFTWARE\Classes的交集。
如果两者的内容有冲突,则HKEY_CURRENT_USER\SOFTWARE\Classes优先。
这个新的特性在Windows2000中叫做“单用户类注册”(Per-userClassRegistration)。
单用户类注册有如下的好处:
●同一台计算机上的不同用户可以分别定制不同的系统配置
例如,用户甲安装了ACDSee图形软件,将BMP文件与ACDSee图形软件建立关联。
而用户乙安装了PhotoShop图形软件,将BMP文件与PhotoShop图形软件建立关联,当用户乙双击BMP文件时,会自动调用PhotoShop图形软件,而不会调用用户安装的ACDSee图形软件。
●提高了注册表的安全性
使用单用户类注册,各个用户有自己的HKEY_CLASSES_ROOT,不再需要通过修改HKEY_LOCAL_MACHINE/SOFTWARE/classes来满足自己的需求,这样系统管理员可以提高HKEY_LOCAL_MACHINE/SOFTWARE/classes的权限,禁止普通用户修改它,而各个用户之间更是不能修改对方的HKEY_CLASSES_ROOT。
●支持漫游类注册
在Windows2000中,提供了一个叫做“IntelliMirror”的功能。
通过在服务器和客户端同时使用IntelliMirror,用户的数据、应用程序和设置在所有的环境中都可以跟随用户漫游,这当然包括了用户的配置文件。
HKEY_CLASSES_ROOT根键中记录的是Windows操作系统中所有数据文件的信息,只要记录不同文件的文件名后缀和与之对应的应用程序。
HKEY_CLASSES_ROOT根键中保存的信息与HKEY_LOCAL_MACHINE\SOFTWARE\Classes分支中保存的信息是一致的。
(3)HKEY_CURRENT_CONFIG根键
如果用户在Windows中设置了两套或者两套以上的硬件配置文件,则在系统启动时将会让用户选择使用哪套配置文件。
而HKEY_CURRENT_CONFIG根键中保存的正是当前配置文件的所有信息。
(4)HKEY_USERS的根键
HKEY_USERS根键中保存的是默认用户(.DEFAULT)、当前登录用户与软件的信息。
它的下面有.DEFAUL、S-1-5-21-1229272821-436374067-1060284298-1000和S-1-5-21-1229272821-435374069-1060264298-1000_Classes三个子键,其中最重要的是.DEFAULT子键。
.DEFAULT子键的配置是针对未来将会被创建的新用户的。
新用户根据默认配置信息来生成自己的配置文件,该配置文件包括环境、屏幕、声音等多种信息。
(5)HKEY_CURRENT_USER根键
HKEY_CURRENT_USER根键中保存的信息(当前用户的子键信息)与HKEY_USERS\.DEFAULT分支中所保存的信息是相同的。
任何对HKEY_CURRENT_USER根键中的信息的修改都会导致对HKEY_USERS\.Default中子键信息的修改,反之也是如此。
2.2.3WindowsXP/2003注册表的五大根键
我们知道,WindowsNT/2000都提供了两个注册表编辑器Regedit和Regedt32,二者在功能和组织体系上都有不同,在实际的注册表编辑中也各有优点和缺点;从WindowsXP开始,开始将这两个注册表编辑器的功能合在了一起,所以两者在细节方面肯定有一些不同。
但在WindowsXP同样拥有五大根键,且根键的功能含义和映射关系都和Windows2000保持了一致。
在注册表物理文件的构成上,也是一致的。
再来看看每个根键单独包含的信息:
(1)HKEY_CLASSES_ROOT根键
HKEY_CLASSES_ROOT根键包含了启动应用程序所需的全部信息,其中包括:
所有扩展名以及应用程序和文档之间的关联信息;所有驱动程序的名字;当作指针的字符串,指向它们代表的实际文件;类标识CLSID,这在访问子键信息时非常有用,因为Windows中访问子键的信息都是用CLSID来代替的。
这里的标识在WindowsXP系统中是唯一的;DDE和OLE信息。
对于每个文件关联都可以使用DDE和OLE功能;应用程序和文档使用的图标。
(2)HKEY_CURRENT_USER根键
HKEY_CURRENT_USER根键用于管理与当前登录系统的用户有关的信息,其中包括:
用户的桌面以及WindowsXP对用户呈现的外观和行为;与所有网络设备的连接,如打印机、共享磁盘空间等资源;桌面程序项、应用程序参数选择项、屏幕颜色等其他一些个人偏好,还有安全权限等。
(3)HKEY_LOCAL_MACHINE根键
HKEY_LOCAL_MACHINE根键保存了运行Windows的信息,包括应用程序、驱动程序以及硬件信息它有五个独立的子键:
①HARDWARE:
其中保存了含有计算机硬件信息的子键,在启动系统时,HARDWARE子键都被重新创建,这样就很容易向系统中添加新硬件了。
用户对HARDWARE子键进行的修改没有任何意义也不会生效,更不用像通过其中的CPU信息实现超频了。
因为它是系统根据硬件信息在启动时自己填写的,而不是根据它的数据去启动硬件。
②SAM:
这是一个关于安全账号管理器的子键,其中存储着用户信息和域信息。
无论是哪种注册表,SAM中的信息都是不可访问的,只能由系统管理员通过用户管理器进行管理。
③SECURITY:
这里的信息与本地安全性和用户权限有关,其中含有SAM子键的备份。
它也是用户不能访问的,只能由系统管理员的管理工具修改。
④SOFTWARE:
其中包含了已经安装的系统软件和用户软件信息。
⑤SYSTEM:
其中含有与系统启动、设备驱动程序、服务和WindowsXP配置有关的信息。
(4)HKEY_USERS根键
HKEY_USERS根键中包含着所有用户配置文件的当前活动用户的信息。
其中的.DEFAULT是为那些没有用户配置文件的登录用户而设置的。
HKEY_USERS中典型的用户配置文件都包括如下一些子键:
①AppEvents:
其中的EventLabels包括与事件有关的信息,而Schemes则包括一些针对自己使用特定声音方案的应用程序的标签。
②Console:
包含缺省的命令提示符配置。
③ControlPanel:
包含控制面板上的小信息。
④Environment:
包含用户环境信息。
⑤KeyboardLayout:
包含键盘配置信息。
⑥Printers:
包含与计算机相连的每一台远程打印机的映射信息。
⑦Software:
包含系统中已安装的软件信息。
⑧UNICODEProgramGroups:
包含的是关于那些使用UNICODE的程序信息。
(5)HKEY_CURRENT_CONFIG根键
HKEY_CURRENT_CONFIG根键是HKEY_LOCAL_MACHINE中的内容映射。
如果系统中只有一个硬件配置,则其中的数据是和HKEY_LOCAL_MACHINE中一样的。
若系统中新建了一个硬件配置“(控制面板→系统→硬件配置文件)”,就会在HKEY_LOCAL_MACHINE中反映出来,在启动时会选择一种配置文件映射到HKEY_CURRENT_CONFIG中。
2.3Windows2000/XP/2003注册表的五大根键解析
2.3.1HKEY_CLASSES_ROOT根键
(1)扩展名与应用程序的对应关系
Windows所支持的文件类型在HKEY_CLASSES_ROOT根键下定义。
下表中列出了HKEY_CLASSES_ROOT根键中的文件扩展名和文件类型之间关系,如表2所示。
表2HKEY_CLASSES_ROOT和文件类型之间的关系
扩展名
文件类型
扩展名
文件类型
.386
vxd文件(这是一个虚拟设备驱动程序)
.aif
.aiff文件
.ai
application/postscript文件
.aiff
aiff文件
.aifc
Aiff文件
.art
art文件
.ani
ani文件(光标动画文件)
.awd
FaxView文档(用于传真显示)
.au
au文件(用于Internet传输的声音文件)
.avi
avi文件
.snd
Au文件
.bfc
Briefcase(一种公文包文件)
.bat
bat文件(DOS、Windows下的批处理文件)
.cda
cda文件
.bmp
Paint、picture(这是一个由画图附件所产生的文件)
.crt
certificate文件(这是一个用于安全方面的证书认证文件)
.cnf
Conferencelinl(这是一个会议连接)
.clp
Clipboard文件(用于保存剪贴板中的内容)
.der
certificate文件
.com
Com文件(这是DOS、Windows上一个命令解释程序)
(2)特殊扩展名与应用程序的对应关系
我们在注册表编辑器中可以发现,HKEY_CLASSES_ROOT根键下的文件扩展名前面有“+”符号,而且在此文件扩展名中没有对应的应用程序。
为了查明这些文件后缀与应用程序之间的关系,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 注册表 管理工具 设计 实现 本科 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)