Windows注册表
注册表概述
概述:注册表是windows操作系统、硬件设施以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,他包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。
打开注册表:利用regedit.exe程序能够存取注册表文件,通过windows键+R打开命令提示界面,输入regedit、regedit.exe或者regedt32.exe、regedt32四个名称均可
结构说明
==根键==:这个称谓HKEY……,某一项的句柄项:附加的文件夹和一个或多个值
==子项==:在某一个项(父项)下面出现的项(子项)
==值项==:带有一个名称和一个值得有序值,每个项都可包括任何数量的值项,值项由三个部分组成:名称、数据类型和数据
-
名称:不包括反斜线的字符、数字、代表符和空格的任意组合
-
数据类型:包括字符串、二进制和双字节等
-
数据:值项的具体指,它的大小可以占用64KB
注册表主键介绍
HKEY_CLASSES_ROOT
该根键包括启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序吗,DDE和OLE信息,编号和应用程序与文档的图标等
常见子项的含义
CLSID | 分类标识,系统可以用这个标识来识别相同类型的文件 |
---|---|
Compressors | 他下面有两个子项:auds:用于设置音频数据压缩程序的类标识;vids:用于设置视频数据压缩程序的类标识 |
RIFFHandlers | 在它的下面有两个类标识:AVI:用于设置AVI文件的类标识;WAVE:用于设置WAVE文件的类标识 |
shellex | 包括了视频文件的外壳扩展 |
defaultlcon | 用于设置默认图标 |
Protocol | 包括了执行程序和编辑程序的路径和文件名:StdExecute(stdfileediting)_server:用于指定编辑程序:StdExecute(stdfileediting)_PackageObjects:用于指定后打开AVI包对象的编辑程序; StdExecute(stdfileediting)_verb:用于设置编辑程序是的工作状态,其中有0、1、2等状态 |
shell | 用于设置视频文件的外壳:open;用于设置打开AVI文件的程序;play:用于播放命令的程序 |
CuVer | 操作命令操作符 |
HKEY_CURRENT_USER
该根键包括当前登录用户的配置信息,包括环境变量,个人程序以及桌面设置等
次根键中存放的信息(当前用户的子项信息)与HKEY_USER_DEFAULT下面的一模一样,且对 HKEY_CURRENT_USER事物修改也会影响HKEY_USER_DEFAULT子项的修改
HKEY_LOCAL_MACHINE
该根键包括本地计算机的系统信息,包括硬件和操作系统,安全数据和计算机专用的各类软件设置信息
次根键中存放的是用来控制系统和软件的设置,由于这些设置是针对那些使用Windows系统的用户二设置的,是一个公共配置信息,所以它与具体的用户没多大关系
常见子项的含义
HARDWARE | 该子项包括了系统使用的浮点处理器、串口等信息:ACPI:存放高级电源管理接口数据;DEVICeMAP:用于存放设备映射;DESCriptION:存放有关系统信息 |
---|---|
RESOURRCEMAP | 用于存放资源列表 |
SAM | 这部分受保护,无法查看 |
SECURITY | 该子项只是为将来的高级功能预留 |
SOFTWARE | 该子项中保留的是所有已安装的32位应用程序的信息,各个程序的控制信息分别安装在相应的子项中,由于不同的计算机安装的应用程序互不相同,因此这个子项下面的子项信息也不完全一样 |
SYSTEM | 该子项是启东市所需的信息和修复系统是需要的信息:currentcontrol:保存了当前驱动程序控制集中的所有信息 |
HKEY_USERS
该根键包括计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问。这些信息告诉系统当前用户使用的图标,激活的程序组,开始菜单的内容以及颜色,字体。
此根键中保存的时默认用户(default),当前登录用户和软件(software)的信息,其中DEFAULT子项是其中最重要的,它的配置是针对未来将会被创建的新用户的
其中常见的子项
AppEvents | 它包括了各种应用事件的列表:Eventlabels:按字母顺序列表;Schemes:按事件分类列表 |
---|---|
Conteol Panel | 它包括内容与桌面、光标、键盘和鼠标等设置相关 |
Keyboard layout | 用于键盘的布局(如语言的加载顺序等);Preload:语言的加载顺序;Substiutes:设置可替换的键盘语言布局;Toggle:用于选择键盘语言 |
HKEY_CURRENT_CONFIG
该根键包括当前硬件的配置信息,其中的信息是从HKWY_LOCAL_MACHINE中映射出来的
实际上HKEY_USERS、HKEY_LOCAL_MACHINE这两个才是真正的注册表键,其他都是从某个分支映射出来的,相当于快捷方式或是别名。
总结注册表的大体功能
HKEY_CLASSES_ROOT | 列出当前计算机注册的所有com服务器和应用程序相关联的所有文件扩展名 |
---|---|
HKEY_CURRENT_USER | 保存着当前登录到由这个注册服务的计算机上的用户配置文件 |
HKEY_LOCAL_MACHINE | 保存操作系统及硬件相关信息的配置单元,他是一个公共的配置信息与具体用户无关,其中关键是两个键值;SOFTWARE:保护者与这台电脑中安装的应用程序相关的设置。SYSTEM:windows所装载的设备驱动程序以及当windows启动市所需要的各种参数 |
HKEY_USERS | 包含当前计算机所有用户配置文件 |
HKEY_CURRENT_CONFIG | 计算机当前会话中的所有硬件配置信息 |
注册表破坏
注册表破坏后的常见现象
- 无法启动系统
- 无法运行或正常运行合法的应用程序
- 找不到启动系统或运行应用程序所需的文件
- 没有访问应用程序的权限
- 不能正确安装或装入驱动程序
- 不能进行网络连接
- 注册表条目有错误
注册表被破坏的原因
- 应用程序错误:应用程序或多或少的时候都有错误,都有可能导致不同的后果;另外在系统中安装过多的软件后,有可能出现彼此之间的冲突
- 驱动程序不兼容:大多出在系统自动安装的驱动程序上
- 硬件问题:大多出现在硬件质量上,比如硬盘或内存质量不过关造成读写错误,或超频或CMOS或病毒等
- 误操作:误操作可能会导致注册表出现错误,有的时候甚至会很严重
注册表备份
手工备份注册表
讲windows\system32\config 下SAM,SYSTEM,SOFTWARE,DEFAULT复制到备份设备中,这些文件泳衣保存系统配置:将Documetents and sttings\username文件夹中保存用户配置文件:NETUSER.DAT及当然对应的LOG文件复制到备份设备中
注册表到处法导出注册表
选中注册表需要导出的键,右键–导出,选择文件夹
注册表恢复
- 重新启动系统恢复注册表,重启系统时可以修正各种在注册表中出现的错误了,但是以硬盘上的注册表的信息正确为前提
- 注册表导入法恢复,运行regedit.exe文件,文件–导入,选择要导入的注册表文件
- 利用高级启动选项恢复注册表,重启计算机,启动时按F8键进入高级选项菜单,选择最后一次正确的配置,回车
- 通过局域网来恢复注册表(很少使用)
注册表优化
在计算机使用过程中可能经常添加或删除应用程序;在上网时遇到恶意网站,向注册表强行添加信息,原来的应用程序卸载后注册表没删除,启动时出现没找到某某应用程序多余注册表的子项可能造成浪费或降低启动速度,因此需要优化注册表。
清楚多余的DLL文件
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShareDLLs,在这个项下存放的是共享的DLL信息,注意看括号里的数据,他在共享文件的树木,如果问0,那么删除掉
安装卸载应用程序的垃圾信息
一些非法卸载应用程序导致垃圾信息,我们首先要知道什么程序被非法卸载了,你自己现在正使用的是知道的,其余的就没用了。注册表位置:HKEY_CURRENT_USER\Software,HKEY_LOCAL_MACHINE\Software,看到没在使用的注册表信息都可以删除
注册表危险键整理
- run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run - RunOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce - 镜像劫持HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options
- RunServicesOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce - RunServices HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices - 禁止任务栏、文件夹选项、注册表等 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegedit - 禁止修改IE浏览器主页 HKEY_CURRENT_USER\Software\policies\Microsoft\internet explorer\control panel\homepage
值为1 表示禁止修改 - 隐藏磁盘分区 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrivers
- 修改文件关联 HKEY_CLASSES_ROOT\textfile\shell\open\command
HKEY_LOCAL_MACHINE\Software\CLASSES\textfile\shell\open\command - CLSID
HKEY_CLASSES_ROOT\CLSID
在此键下的ID 对应着系统里面的不同程序、组件 - HKEY_CURRENT_USER\Software\policies\Microsoft\internet explorer\MenuExt
IE网页右键菜单
HKEY_LOCAL_MACHINE\Software\policies\Microsoft\internet explorer\Extension registry key
对应于IE工具栏上的按钮或者在IE的工具菜单中非默认安装的项目 - IE高级选项? HKEY_LOCAL_MACHINE\Software\policies\Microsoft\internet explorer\AdvancedOptions
对应于IE选项高级选项卡下面的项目 - 域名劫持 HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\tcpip\Parameters\Interfaces{0F3EE3DD-D14D-4925-8671-87F4D7244B91}\NameServer
HKEY_LOCAL_MACHINE\Software\Class\PROTOCOLS
额外的协议和协议劫持,黑客通过将我们计算机使用的标准的协议驱动更改为劫持程序所提供的驱动来实现 - IE收藏夹、IE浏览历史、cookies HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
- 禁止Guest账户访问日志 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog
将其3个子键Application、Security、System 下面的RestrictGuestAccess值改为1 - 禁止显示上一次登陆的用户名 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon
修改Dontdisplaylastusername为1 - 禁止IP路由 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
修改DWORD :IPEnableRouter为0 - 禁止光盘自动启动 [HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\polices\Explorer
设置Nodrivetypeautorun为149 - 关机时清除页面文件 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
修改DWORD :ClearPageFileAtShutdown为1 - TCP连接延迟 HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay
TcpTimedWaitDelay默认是1e(30秒)(win7及其2008) - tcp用户最大使用端口 HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort
- 加强防备拒绝服务攻击
终止半开放的TCP连接数,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
条件DWORD Tcpmaxconnectresponseretransmission为3 - 安全中心 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center
- 右键扩展 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions
安全策略设置
- 隐藏“开始”菜单的部分内容
打开注册表,在\HKEY_CURRENT_USER\Software\Micorsoft\Windows\CurrentVersion\Policies\Explorer 中新建一个 DWORD 值“NoSetFolders”,键值为“1”。这样,用户便不能使用“控制面板”并不能使用“设置”中的“打印机”。
在该分支下新建一个 DWORD 值“NoSetTaskbar”,键值为“1”,则“任务栏属性”功能被禁止。
在该分支下新建一个 DWORD 值“NoFind”,键值为“1”,则“查找”功能被禁止。
在该分支下新建一个二进制值“NoRun”,键值为“0x00000001”,则“运行”菜单项被关闭。 - 禁用“活动桌面”
在关闭了“控制面板”和“打印机″功能后,普通用户可以通过“活动桌面”更改“显示属性,因此要关闭”活动桌面,在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policics\System 中新建 DIwoRD 值“NoDispCPL”键值为“1”。这样“活动桌面”也被禁用。 - 隐藏桌面上所有图标
HKEY_CURRENT_UsER\Software\Micorsoft\Windows\CurrentVersion\Policies\Explorer 中新建 DOwRD 值“NoDesktop”,键值为“1”,重新启动计算机后,普通用户桌面上的图标将全部被隐藏。 - 禁用注册衷编辑器
为了防止普通用户使用注册表,我们可以用如下的方法禁止普通用户使用注册表:
在HKEY_CURRENT_USER\Software\Micorsoft\Windows\CurrentVersion\Policies\System 中新建 DWORD 值“DisableRegistryTools”,键值为“1”。 - 隐藏驱动器
为了重要文件的安全性,可以将一个驱动器隐藏起来,其具体步骤如下:
在\HKEY_CURRENT_USER\Software\Micorsoft\Windows\CurrcntVersion\Policies\Explorer 中新建一个二进制值“NoDrives ”,其缺省值为 00000000,表示不隐藏任何驱动器,
该值由四个字节组成,每个字节的第一位对应从 A:到 z:的一个盘,即 01 为 A,02 为 B,04 为 C……例如要隐藏 C 盘,键值为 04000000;隐藏 D 盘,键值为 0800000;隐藏所有驱动器为 ff ff ff ff。