《网络安全笔记》第七章:注册表基础

news2024/12/19 11:08:37

一、注册表基础

1、概述

  • 注册表是windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树桩分层结构的数据库系统
  • 注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系统的稳定性

2、早期注册表

  • 以ini为扩展名的文本文件的配置文件

3、windows95后的注册表

  • 自windows 95操作系统开始,注册表真正成为windows用户经常接触的内容,并在其后的操作系统中继续沿用
    • 注册表数据库由多个文件组成
    • windows提供了注册表编辑器
//在运行出输入命令打开注册表编辑器:regedit

4、注册表结构

  • 注册表以树状结构进行呈现

    • 子树(实际上只有两棵子树,为了方便操作,分成了5棵子树)

      • HKEY_LOCAL_MACHINE:记录关于本地计算机系统的信息,包括硬件和操作系统数据
      • HKEY_USERS:记录关于动态加载的用户配置文件和默认配置文件的信息
      • HKEY_CURRENT_USER:HKEY_USERS子树,它指向“HKEY_USERS\当前用户的安全ID”包含当前以交互方式登录的用户的用户配置文件
      • HKEY_CURRENT_CONFIG:HKEY_LOCAL_MACHINE子树,指向HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current包含在启动时由本地计算机系统使用的硬件配置文件的相关信息加载的设备驱动程序、显示时要使用的分辨率
      • HKEY_CLASSES_ROOT:HKEY_CURRENT_USER子树包含用于各种0LE技术和文件类关联数据的信息
      • 可以简单的理解文件夹,项中可以包含项和值
      • 每个注册表项或子项都可以包含称为值的数据
      • 部分值应用于某个用户的信息
      • 部分值应用于计算机所有用户的信息
      • 值由三部分组成:值的名称、值类型、值的数据
        在这里插入图片描述

二、注册表基本操作

1、创建项

2、创建值(有六种类型的值)

  • 字符串值(REG_SZ):固定长度的文本字符串
  • 二进制值(REG_BINARY):原始二进制数据。多数硬件组件信息都以二进制数据存储
  • DWORD值(REG_DWORD):数据由4字节长的数表示。设备驱动程序和服务的很多参数都是这种类型
  • QWORD值(REG_QWORD):数据由8字节长的数表示
  • 多字符串值(REG_MULTI_SZ):多重字符串,包含列表或多值的值通常为该类型
  • 可扩充字符串值(REG_EXPAND_SZ):长度可变的数据串。改数据类型包含在程序或服务使用该数据时解析的变量

3、修改、删除和重命名值

三、注册表应用

1、案例

  • 个性化时间设置

    • 打开注册表编辑器,锁定“HKEY_CURRENT_USER\Control Panel\International“下的值sTimeFormat进行修改
  • 在欢迎屏幕显示自定义信息

    • 打开注册表编辑器,锁定“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System”下的值legalnoticecaption(标题)、legalnoticetext(文本)
  • 禁用任务管理器

    • 打开注册表编辑器,锁定“HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System”下新建DWORD值DisableTaskMgr,设置值为1
    任务管理器命令:TaskMgr
    
  • 禁用控制面板

    • 打开注册表编辑器,锁定“HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”下新建DWORD值NoControlPanel,设置值为1
  • 去除快捷方式左下角小箭头

    • 打开注册表编辑器,锁定“HKEY_CLASSES_ROOT\inkfile”找到项下的IsShortcut值,直接删除

2、注册表编辑技巧

  • 查找字符串、值或项
  • 将子项添加到收藏夹
  • 打印注册表
  • 复制项名字

四、注册表维护

1、注册表被破坏后的常见现象

  • 无法启动系统
  • 无法运行或正常运行合法的应用程序
  • 找不到启动系统或运行应用程序所需的文件
  • 没有访问应用程序的权限
  • 不能正确安装或装入驱动程序
  • 不能进行网络连接
  • 注册表条目有错误

2、注册表被破坏的原因

  • 应用程序错误:在系统中安装过多的软件后,可能会出现彼此之间的冲突
  • 驱动程序不兼容:安装系统时有很多驱动都是自动安装的,容易产生不同硬件驱动程序不兼容情况,建议到官方网站下载对应稳定版驱动进行安装
  • 硬件问题:主要出现在硬件质量上,比如硬盘或内存质量不过关造成读写错误、超频、CMOS、病毒等
  • 误操作:误操作是最常见的原因,可能会导致注册表出现错误,严重者造成系统崩溃或无法启动系统

3、备份注册表

  • 直接将注册表数据库文件进行备份
  • 导出注册表
    • 找到对应的项直接选择导出

4、恢复注册表

  • 直接将数据库文件进行覆盖
  • 将之前导出的项进行导入

5、锁定和解锁注册表

  • 打开注册表编辑器,锁定到“HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System”项中新建DWORD值DisableRegistryTools,将值设置为1,表示锁定,设置为0表示解锁

  • 当注册表被锁定后,windows自带的注册表编辑器就无法打开,需要使用外部第三方注册表编辑工具来进行打开,找到对应项,修改值为1

    第三方注册表修改器:RegWorkshop
    

五、注册表优化

1、优化内容

  • 清除多余的DLL文件
    • 打开注册表编辑器,锁定到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs“项,在这个项下存放的是共享的DLL信息,注意看括号里面的数据,它表示共享文件的数目,如果为0,则可将其删除
  • 安装卸载应用程序的垃圾信息
    • 打开注册表编辑器,锁定到“HKEY_CURRENT_USER\SOFTWARE“项和”HKEY_LOCAL_MACHINE\SOFTWARE“项,这两个项中包含系统中的应用程序,对于已知的程序是知道的,主要是针对一些未知的程序进行删除和一些已经卸载了的残留
  • 系统安装时产生的无用信息
    • 删除多余时区(必要情况下只保留北京时区)
      • 锁定到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones“项
    • 清除多余的语言代码(英语:0409、中文-0804)
      • 锁定到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Locale”项
    • 删除多余的键盘布局
      • 锁定到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts”项,下面每一个子项代表一种键盘布局

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【UDS】ISO14229之0x2F服务

文章目录前言一、理论描述二、使用步骤1.请求2.响应总结->返回总目录<- 前言 简称&#xff1a; “InputOutputControlByIdentifier”&#xff0c;根据标识符控制输入输出 功能&#xff1a; 根据标识符控制输入输出服务用于替换输入信号的值、电控单元内部参数或控制电子…

Telnet连接

❤️人生没有白走的路&#xff0c;每一步都算数❤️ 你是否安装Telnet没毛病&#xff0c;但登录总报错&#xff1f; 巧了&#xff0c; 我也遇到了。 于是我打开浏览器尝试搜索&#xff0c;有许多说的并不详细。 所以呢就有了这篇文章&#xff01; 首先我们准备实验环境&#xf…

oracle中替换字符串的不同写法

replace函数 replace(原字段&#xff0c;“原字段旧内容“,“原字段新内容“) 例如将DEPTNO字段值中的0替换为1&#xff1a; TRANSLATE TRANSLATE(expr, from_string, to_string) from_string 与 to_string 以字符为单位&#xff0c;对应字符一一替换。 用法示例&#xf…

详解数据结构——二叉排序树

目录 二叉排序树 二叉排序树的查找 二叉排序树的插入 二叉排序树的删除 查找时间效率分析 二叉排序树 二叉排序树&#xff0c;又称二叉查找树&#xff08;BST&#xff0c;Binary Search Tree)一棵二叉树或者是空二叉树&#xff0c;或者是具有如下性质的二叉树: 左子树上所有结…

SpringBoot - SpringBoot整合i18n实现消息国际化

文章目录1. MessageSource源码2. 项目环境搭建1. 创建项目服务auth2. 工具类 I18nUtils3. 自定义异常 CommonException4. 统一异常处理 GlobalExceptionHandler3. 业务实现1. 实体类 UserEntity2. 请求实体 UserQo3. 控制层 UserController4. 业务逻辑层 UserService5. 将异常信…

144. 授人以渔 - 如何查找 SAP UI5 官网上没有提到的控件属性的使用明细

本教程第 113 步骤, SAP UI5 应用开发教程之一百一十三 - 授人以渔 - 如何自行查询任意 SAP UI5 控件属性的文档和技术实现细节我用一整篇文章的篇幅,解答了一位学习者这个疑问: 想请教一下 sap.m.Input 控件中,value里设置的内容,比如path,type,constraints,在哪里可以查…

C++ 多态

目录 一、多态的定义和实现 1.1 多态的构成条件&#xff1a; 1.2 虚函数的重写&#xff08;覆盖&#xff09;&#xff1a; 1.3 多态的两个特殊点&#xff1a; 1.4 析构函数的重写&#xff1a; 1.5 override和final 1.6 重载&#xff0c;重定义&#xff08;隐藏&#xff…

Linux【进程地址空间】

进程地址空间&#x1f4d6;1. 地址空间概念&#x1f4d6;2. 写时拷贝&#x1f4d6;3. 虚拟地址空间的优点&#x1f4d6;1. 地址空间概念 在学习C/C内存管理时&#xff0c;我们可能见过这样一幅图&#xff1a; 但是我们可能不是很理解它&#xff0c;首先有一个问题&#xff1a;…

OpenTCS客户端开发之Web客户端(一)

越来越多人私信我关于OpenTCS的问题。可以感觉到很多人对OpenTCS的研究的人多了很多&#xff0c;很好。这些问题很多是关于算法方面的&#xff0c;也有一部分是关于UI方面的&#xff0c;毕竟OpenTCS本质上是一个算法项目&#xff0c;但是如果希望把它进行商业化&#xff0c;那免…

【微服务】服务拆分和远程调用

2.1 服务拆分原则 这里总结了微服务拆分时的几个原则&#xff1a; 不同微服务&#xff0c;不要重复开发相同业务微服务数据独立&#xff0c;不要访问其它微服务的数据库微服务可以将自己的业务暴露为接口&#xff0c;供其它微服务调用 2.2 服务拆分示例 以微服务cloud-demo为…

第三节:运算符【java】

目录 &#x1f392;运算符 &#x1f4c3;1. 什么是运算符 &#x1f4d7;2. 算术运算符 2.1 基本四则运算符&#xff1a;加减乘除模( - * / %) 2.2 增量运算符 - * % 2.3 自增/自减运算符 -- &#x1f4d9;3. 关系运算符 &#x1f4d5;4.逻辑运算符(重点) 4.1 逻辑与…

隔离出来的“陋室铭”

被隔离了 日常锻炼身体就是去公司旁边的酒店游泳&#xff0c;结果酒店里除了小阳人&#xff0c;我就喜提次密称号&#xff0c;7天隔离走起&#xff1b;又因为不想耽误家里孩子上学&#xff0c;老人外出&#xff0c;就选择了单独隔离&#xff0c;结果就拉到了单独的隔离点&…

精通Git(三)——Git分支机制

文章目录前言分支机制简述创建分支切换分支基本的分支与合并操作基本的分支操作基本的合并操作基本的合并冲突处理分支管理与分支有关的工作流长期分支主题分支远程分支推送跟踪分支拉取删除远程分支变基基本的变基操作变基操作的潜在危害只在需要的时候执行变基操作变基操作与…

C++——vector容器的基本使用和模拟实现

1、vector的介绍 vector是表示可变大小数组的序列容器。 就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问&#xff0c;和数组一样高效。但是又不像数组&#xff0c;它的大小是可以动态改变的&#xff0c;而且…

【动手学深度学习PyTorch版】18 使用块的网络 VGG

上一篇请移步【动手学深度学习PyTorch版】17 深度卷积神经网络 AlexNet_水w的博客-CSDN博客 目录 一、使用块的网络 VGG 1.1 AlexNet--->VGG ◼ VGG网络简介 1.2 VGG架构 1.3 总结 二、VGG网络的代码实现 2.1 VGG网络&#xff08;使用自定义&#xff09; 一、使用块的…

软件测试基本概念

目录本章要点什么是软件测试?软件测试的特定?软件测试和开发的区别?软件测试和软件开发中的调试有什么区别?软件测试在不同公司的定位?一个优秀的测试人员应该具备的素质(你为啥要选择测试开发)需求是衡量软件测试的依据从软件测试人员角度看需求为啥需求对软件测试人员如…

SpringBoot 面试题总结 (JavaGuide)

SpringBoot 面试题总结 &#xff08;JavaGuide&#xff09; 用 JavaGuide 复习 SpringBoot 时&#xff0c;找到一些面试题&#xff0c;没有答案&#xff0c;自己花了一天时间在网上找资料总结了一些&#xff0c;有些答案的来源比较杂忘了没有标注&#xff0c;望见谅。 1. 简单…

Visual Studio 2022开发Arduino详述

目录&#xff1a; 一、概述 二、软件的下载与安装 1、前言 2、Visual Studio 2022的下载与安装 3、Visual Micro扩展插件的导入 4、Visual Micro的使用 1&#xff09;安装修改插件 2&#xff09;搜索 : Visual.Micro.Processing.Sketch.dll 3&#xff09;打开Visual.…

【Linux学习】基础IO

目录前言一、C语言文件IO1. C语言文件接口以及打开方式2. 对当前路径的理解3. 默认打开的三个流二、 系统文件IO1. 系统接口openwritereadclose系统接口和库函数2. 文件描述符及其分配规则文件描述符文件描述符分配原则3. 重定向及dup2系统调用重定向标准输出和标准错误的区别d…

Linux XWindow的安装和配置

1.开始安装XWindow必须需要的组件 输入指令&#xff1a;yum groupinstall "X Window System" yum groupinstall "X Window System" 选择y继续安装。 当看到complete表示已经安装成功了。 输入startx测试一下 看到如上界面就证明你的XWindow安装成功了。 2…