实验一、注册表安全机制实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一、注册表安全机制实验

【实验目的】

(1)了解注册表在系统安全中的地位和作用

(2)了解几个与系统安全密切相关的重要注册表键值

(3)掌握使用Windows API访问注册表的编程方法。

【实验内容】

通过编程以对话框形式完成对注册表编辑器的禁用与解禁。

【实验方法步骤】

(1)用RegOpenKeyEx()函数打开注册表项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Currest

Version\Policies\System。如果该注册表项不存在,则用RegCreateKeyEx()函数创建该项。

(2)如果该项为新创建的,则新建立一个REG_SZ值项DisableChangePassword 和一个REG_DWORD值项dword。如果该值项已经存在,则用

RegQueryValueEx()读取值项DisableRegistryTools的dword的值。(3)用wsprintf()和MessageBox()函数把项值显示在屏幕上。

(4)将值项dword的值置为1。

(5)用RegFlushKey()函数将对注册表项的修改写入注册表。

(6)用RegCloseKey()函数关闭打开的注册表项。

(7)编译执行立即生效。

(8)发regedit命令验证结果。

【实验报告】

(1)提交原程序、可执行程序代码。

(2)编写并提交程序数据字典。

【实验注意事项】

由于注册表值项中值的改变会直接影响系统性能,编程时需慎重,除本次实验要求的内容外,不得随意改变或删除其它注册表项。

【相关知识点】

1、实验必备知识

注册表既是Windows的重要组成部分,也是黑客攻击的主要对象之一。黑客通过对被攻击方注册表的的访问获取大量系统信息,甚至直接击毁系统。防止注册表攻击的方法有许多,其中一种就是禁止用户运行系统提供的两个注册表工具Regedt32.exe和Regedit.exe。禁止的方法由修改下列注册表项的值实现:HKEY_CURRENT_USER\Software\Wicrosoft\Windows\CurrentVersion\Policie s\System

值项:DisableRegistryTools

类型:REG_DWORD

值为1表示禁止使用Windows 中的注册表工具Regedt32.exe和Regedit.exe。

值为0或不存在则表示允许用户使用注册表工具。其脚本语言如下:

REGEDIT4

[HKEY_CURRENT_USER\Software\Wicrosoft\Windows\CurrentVersion\Polici es\System]

“DisableRegistryTools”=dword:00000001

执行后立即生效。

2、注册表

注册表是Windows的重要组成部分,它存放了Windows中所有应用程序和系统配置信息。在Windows功能和应用软件被执行前,首先从注册表中取出参数,根据这些参数决定操作运行。

Windows 2000注册表包括五个键值,分别是:

●HETY_LOCAL_MACHINE

●HKEY_CLASSES_ROOT

●HKEY_CURRENT_CONFIG

●HKEY_USERS

●HKEY_CURRENT_USER

HETY_LOCAL_MACHINE根键中存放控制系统和软件设置的信息。

HKEY_CLASSES_ROOT根键中记录Windows操作系统中所有数据文件的信息。

HKEY_CURRENT_CONFIG根键中存放当前配置文件的所有信息。

HKEY_USERS根键存放的上默认用户(.DEFAULT)、当前登录用户与软件的信息。

HKEY_CURRENT_USER根键中存放的是与HKEY_USERS\..DEFAULT分支中相同的信息。

3、注册表中常用的Windows API 函数

Windows API 函数提供了访问Windows 底层、控制Windows功能的操作。Windows中提供了数十个有关注册表的API函数,其中最常用的就是创建、打开、查询和删除。使用Windows注册表函数,需要包括 winreg.h头文件。(函数表见《Windows 注册表详解》P644页)

用RegOpenKeyEx()函数打开注册表项: HKEY_CURRENT_USER\Software\Microsoft\Windows\Currest

Version\Policies\System。如果该注册表项不存在,则用RegCreateKeyEx()函数创建该项。

(2)如果该项为新创建的,则新建立一个REG_SZ值项DisableChangePassword 和一个REG_DWORD值项dword。如果该值项已经存在,则用RegQueryValueEx()读取值项DisableRegistryTools的dword的值。

相关文档
最新文档