论坛: 菜鸟乐园 标题: 关于注册表的一些知识 复制本贴地址    
作者: axpwx [axpwx]    论坛用户   登录
前一段时间网页恶意代码对本地注册表的修改可以说是闹得沸沸扬扬,从改IE标题开始到改首页,甚至还发展到锁定INTERNET选项和注册表编辑器阻止用户恢复自己的IE! 
  真是愈来愈严重了。开始改标题的时候只不过像小孩子跑到别人家的大门上用粉笔涂上“XX到此一游”,到后来就变质成了强盗要霸占整个家园。我也在这些网页恶意代码中逐步了解了注册表,为了帮助和我一样菜的同志去避免受到伤害,我特地把专辑奉献给大家,并且对文章的作者表示感谢!
  Windows的注册表(Registry)实质上是一个庞大的数据库,它存储这下面这些内容:
  软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;
  计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性;
  计算机性能纪录和底层的系统状态信息,以及各类其他数据。
目    录
1、注册表由来
2、注册表详解
3、注册表数据结构
4、编辑注册表的主键与键值
5、注册表的查找与修改
6、导出与引入注册表
7、HKEY_LOCAL_MACHINE根键
8、HKEY_CLASSES_ROOT根键
9、HKEY_CURRENT_CONFIG根键
10、HKEY_CURRENT_USER根键
11、HKEY_USER 根键
二、注册表应用
12、DOS下维护注册表的高级技巧
13、在DOS下使用注册表扫描程序
14、在DOS下解决注册表问题
15、管理Win9X注册表
16、WIN98注册表编辑器的常用操作
17、注册表完全恢复手册
18、Windows2000注册表的备份与恢复
19、Win98 注册表的安全恢复
20、注册表损坏之症状和修复
21、注册表被破坏的现象及原因
22、reg文件全攻略
23、Win9X注册表内的安全和用户权限设置
三、注册表修改实例
24、修改的注册表
25、注册表修改指南
26、win9X注册表修改技巧
27、Win98注册表修改秘诀
28、WinNT注册表修改
29、注册表初级通关Follow Me
30、注册表有关桌面的修改项
31、注册表控制面板的修改项
32、注册表开始菜单的修改项
33、注册表系统优化修改项
34、Windows注册表背后的秘密
35、须重启计算机使修改后的注册表生效
36、在Windows98注册表里查共享密码
37、巧改注册表来增强网络功能
38、通过注册表修改IE浏览
39、ActiveX技术综述
40、用脚本文件简单修改注册表
41、有关IE控件ActiveX安全
42浅谈IE的文本漏洞
43、txt文件病毒
44、IE又一漏洞解
45、隐藏在网页中的程序
46、深入剖析通过嵌入ActiveXComponent执行ActiveX对象漏洞
47、通过在html嵌入javascript逃避hotmail过滤检查获得用户信息
48、写网页病毒很容易(推荐)
49、浏览网页也会中木马
50、恶意修改IE的恢复方法
51、IE恶意修改之终极解决方案
52、杜绝IE浏览的安全隐患
53、浏览网页注册表被修改之迷及解决办法
54、摆脱可恶网站的阴影
55、抓住网页恶意代码的黑手
56、深入剖析恶意攻击性网页
57、分析一个巨恶网站的恶意代码(强烈推荐)
58、网页攻击教学
59、Windows NT 4.0 远程注册表拒绝服务攻击漏洞
60、关于在浏览器中执行*.exe文件的深入探讨
61、剖析恶意网页修改注册表的十二种现象
62、IE修改全功略
63、恶意修改IE的恢复方法(再修改篇)
64、提高系统安全的注册表修改
65、 Windows 菜单修改项
66、有关桌面的修改
67、系统优化修改
68、控制面板的修改
69、增强网络功能
70、有关安全的修改
71、有关图标的修改
72、、有关系统限制的修改
1、注册表由来
  PC机及其操作系统的一个特点就是允许用户按照自己的要求对计算机系统的硬件和软件进行各种各样的配置。早期的图形操作系统,如Win3.x中,对软硬件工作环境的配置是通过对扩展名为.ini的文件进行修改来完成的,但INI文件管理起来很不方便,因为每种设备或应用程序都得有自己的INI文件,并且在网络上难以实现远程访问。
  为了克服上述这些问题,在Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。按照这一原则,Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性以及各种状态信息和数据等。

与INI文件不同的是:
1.注册表采用了二进制形式登录数据;
2.注册表支持子键,各级子关键字都有自己的“键值”;
3.注册表中的键值项可以包含可执行代码,而不是简单的字串;
4.在同一台计算机上,注册表可以存储多个用户的特性。

注册表的特点有:
1.注册表允许对硬件、系统参数、应用程序和设备驱动程序进行跟踪配置,这使得修改某些设置后不用重新启动成为可能。
2.注册表中登录的硬件部分数据可以支持高版本Windows的即插即用特性。当Windows检测到机器上的新设备时,就把有关数据保存到注册表中,另外,还可以避免新设备与原有设备之间的资源冲突。
3.管理人员和用户通过注册表可以在网络上检查系统的配置和设置,使得远程管理得以实现。
  我们在前面已经详细介绍了注册表的由来与基本结构。发现注册表比较复杂,但又安排得非常有条理,能有效地提高工作效率,为系统的维护提供了必要条件。由于注册表是一个二进制的配置数据库文件(Windows的命根子),因而,用户无法直接存取注册表。为了让高级用户能够编辑注册表,Windows2000提供了注册表编辑器“c”和“Regedt32”。对这种只使用Windows提供的注册表编辑器进行编辑的操作。
  编辑器在安装Windows时已经被安装到硬盘中了,但是并未在“附件”程序组中建有快捷方式。用户如果需要使用注册表编辑器,可以在“运行”对话框内输入Regedt32或Regedit即可打开注册表编辑器。或者在“命令提示符”中执行Regedt32.exe也可以进入注册表编辑器

(此贴只有威望大于等于 0 的才能察看)>

2、注册表详解
注册表是什么
  Windows的注册表(Registry)实质上是一个庞大的数据库,它存储这下面这些内容:
  软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;
  计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性;
  计算机性能纪录和底层的系统状态信息,以及各类其他数据。
注册表的结构
  在Windows中,注册表由两个文件组成:System.dat和User.dat,保存在windows所在的文件夹中。它们是由二进制数据组成。System.dat包含系统硬件和软件的设置,User.dat保存着与用户有关的信息,例如资源管理器的设置,颜色方案以及网络口令等等。
  Windows为我们提供了一个注册表编辑器(Regedit.exe)的工具,它可以用来查看和维护注册表。
注册表编辑器与资源管理器的界面相似。左边窗格中,由"我的电脑"开始,以下是六个分支,每个分之名都以HKEY开头,称为主键(KEY),展开后可以看到主键还包含次级主键(SubKEY)。当单击某一主键或次主键时,右边窗格中显示的是所选主键内包含的一个或多个键值(value)。键值由键值名称(value Name)和数据(value Data)组成。主键中可以包含多级的次级主键,注册表中的信息就是按照多级的层次结构组织的。每个分支中保存计算机软件或应建设之中某一方面的信息与数据。
  注册表中格分支的功能如下:
HKEY-CLASSES-ROOT  文件扩展名与应用的关联及OLE信息
HKEY-CURRENT-USER  当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器
HKEY-LOCAL-MACHINE 计算机硬件与应用程序信息
HKEY-USERS      所有登录用户的信息
HKEY-CURRENT-CONFIG 计算机硬件配置信息
HKEY-DYN-DATA    即插即用和系统性能的动态信息
注册表中的键值项数据
  注册表通过键和子键来管理各种信息。但是注册表中的所有信息都是以各种形式的键值项数据保存的。在注册表编辑器右窗格中显示的都是键值项数据。这些键值项数据可以分为三种类型:
  1.字符串值
  在注册表中,字符串值一般用来表示文件的描述和硬件的标识。通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。在本站中以"a"="***"表示。
  2.二进制值
  在注册表中二进制值是没有长度限制的,可以是任意字节长。在注册表编辑器中,二进制以十六进制的方式表示。在本站中以"a"=hex:01,00,00,00方式表示。
  3.DWORD值
  DWORD值是一个32位(4个字节)的数值。在注册表编辑器中也是以十六进制的方式表示。在本站中以"a"=dword:00000001表示。

注册表的备份与恢复
  如果注册表遭到破坏,Windows将不能正常运行,为了确保Windows系统安全, 我们必须经常的备份注册表。
  Windows每次正常启动时,都会对注册表进行备份,System.dat备份为System.da0, User.dat备份为User.da0。它们存放在Windows所在的文件夹中,属性为系统和隐藏。
  以下为2种备份注册表的方法:
  1,利用Windows中的注册表编辑器(Regedit.exe)进行备份
  运行Regedit.exe,单击“文件“-->“导出注册表文件“命令,选择保存的路径,保存的文件为*.reg, 可以用任何文本编辑器进行编辑。
  2,利用Win95光盘上Other\Misc\ERU\ERU.EXE紧急事故恢复工具(Emergency Recovery Utility)。利用这个工具不但可以备份和恢复注册表,还可以备份硬盘中的任何文件。
  恢复:
  当注册表损坏时,启动时Windows会自动用System.dat和User.dat的备份System.da0和User.da0进行恢复工作,如果不能自动恢复,可以运行Regedit.exe(它可以运行在在Windows下或DOS下),导入.reg备份文件。也可以运行ERU.EXE进行恢复。
  如果您没有进行备份或者注册表损坏的非常严重,那么您可以试试最后一着:在c:\下有一个System.1st文件,属性为隐藏和只读,它记录着安装Windows时的计算机硬件软件信息,用这个文件覆盖System.dat。但是这样的话您安装的应用软件可能会无法运行,必须重新安装。

注册表修改方法
  通过修改注册表我们可以实现一些特殊的功能,但是注册表又是十分脆弱的,一个不小心就会出现错误。那么我们怎么样来修改注册表呢?我总结为以下几种方法:
  1.软件修改(安全)
  通过一些专门的修改工具来修改注册表,比如:MagicSet、TweakUI、WinHacker等等。其实控制面板就是一个这样的工具,只不过功能简单一些。
  2.间接修改(比较安全)
  将要修改的写入一个.reg文件中,然后导入注册表中。.reg文件的基本格式为:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet]
"@"="Super Rabbit Magic Set For Windows 98 V2.92"
"a"=dword:00000001
"b"=hex:02,05,00,00
……
[HKEY_LOCAL_MACHINE\Software\SCC\QuickViewer]
……
  第一行为“REGEDIT4”,必须大写。
  第二行为空行。
  第三行使用[]括起子键分支,其中HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet就是一个子键分支。
  第四、五、六行是该子键下的设置数据。其中@表示注册表编辑器右窗格中的"默认"键。
  以下类似。
  这样做的好处是可以避免错误的写入或删除等操作,但是要求用户了解注册表的内部结构和.reg文件的格式。
  3.直接修改(最不安全,但最直接有效)
  就是通过注册表编辑器直接的来修改注册表的键值数据项,这样做会避免在注册表中留下垃圾(虽然都很小,但越来越多会拖慢系统速度),但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎。

地主 发表时间: 04-04-30 15:42

回复: clark008 [clark008]   论坛用户   登录
顶!

B1层 发表时间: 04-04-30 16:51

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号