Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/11 9:23:22
C#教程:保护注册表

C#教程:保护注册表

保护注册表

注册表在操作系统中起着非常重要的地位,如果注册表被非法用户修改,很有可能使系统中的某些程序无法运行,甚至会造成整个系统的崩溃。为了防止由于非法用户擅自使用计算机给用户带来的损害,用户必须使用相关技术来保护注册表。为了防止由于注册表的改动而对计算机产生影响,用户可以通过禁止使用注册表编辑器的方法来禁止用户使用注册表。通过Microsoft.Win32命名空间下的Registry类与RegistryKey类,实现在注册表中的“HKEY_ CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem”子项中新建一个名为DisableRegistryTools的双字节值项,并将该值项的数值数据设置为1。如果要恢复注册表为允许使用的状态,可以使用RegDeleteKey类删除System子项。

注意:在进行此项操作之前,建议用户应从安全角度出发,首先对注册表文件进行备份或准备另外一个注册表修改工具,因为在进行此项操作之后,用户就无法使用注册表编辑器来打开注册表了。另外,如果用户需要使用注册表编辑器,可以在“安全模式”下对注册表进行修改等操作。

通过操作注册表控制“注册表编辑器”,程序运行结果如图1所示,单击【禁用Regedit】按钮,将出现如图2所示信息,这时在“运行”窗口中输入“regedit”命令,如图3所示,将弹出图4的提示信息。这样便可以防止非法用户修改注册表。为了方便用户使用,这里提供了启用注册表的功能。单击【启用Regedit】按钮后将弹出如图5所示的窗口,这时用户便可以正常操作注册表。



图1 保护注册表



图2 禁用提示



图3 运行注册表编辑器



图4 提示信息



图5 启用提示

禁用注册表编辑器,通过Registry类的CreateSubKey方法在“HKEY_CURRENT_USER SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem”键下创建一个“DisableRegistryTools”子键并且令其键值为“1”,程序代码如下:

private void button2_Click(object sender, EventArgs e)

{

try

{

RegistryKey rgK = Registry.CurrentUser.CreateSubKey(@"SoftwareMicrosoftWindowsCurrent VersionPoliciesSystem");

rgK.SetValue("DisableRegistryTools", 1, RegistryValueKind.DWord);

MessageBox.Show("禁用成功!!!");

}

catch{ }

}

启用注册表编辑器,通过RegistryKey类的DeleteSubKey方法删除“HKEY_CURRENT_ USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem”键,便可以正常使用注册表编辑器,程序代码如下:

private void button1_Click(object sender, EventArgs e)

{

try

{


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759