目录
- 如何查看和修改注册表
- 注册表用法
- 数据类型和逻辑结构
- 内部机理
- 注册表重定向
- 注册表回调和通知
什么是注册表
- 系统数据库
- 系统全局设置的存储仓库
- 每个用户的设置信息的存储仓库
- 引导和配置系统所必要的信息、系统范围的控制Windows操作的软件设置、安全数据库,以及针对每个用户的配置信息(比如使用哪个屏幕保护程序)。
查看和修改注册表
- 注册表编辑器
- 图形界面:Regedit.exe
- 命令行:Reg.exe
- 图形界面:Regedit.exe
- 如何判断修改注册表是否成功?
- 如果修改注册表失败了—–原因
SUCCESS
NAME NOT FOUND
NO MORE ENTRIES
BUFFER TOO SMALL
ACCESS DENIED
- 如果修改注册表失败了—–原因
注册表用法
- 引导过程
- 登录过程
- 应用程序启动过程
- 应用安装工具创建了默认的应用设置,以及一些可反映出安装配置选项的设置信息
- 设备驱动程序的安装过程中,即插即用系统在注册表中创建了一些设置,告诉I/O管理器如何启动此驱动程序、用于配置该驱动程序操作的设置
- 通过用户界面改变了应用程序或者系统设置时,这些改变通常会被保存在注册表中
注册表数据类型
- Rootkey、key、value、data
- 注册表值的类型
- 不太常见的注册表值的类型
\ROOT1\Link->\ROOT2\RegKey
\ROOT1\Link[RegValue] == \ROOT2\RegKey [RegValue]
注册表逻辑结构
- 6个根键
- 不能新增也不能删除
- 不能新增也不能删除
- 根键说明
- 根键–链接
- 应用层和内核层的表示方法
- HKCU
- HKLM
- 工作中常见的注册表位置–启动项
- Run
- Runonce
- RunOnceEx
- 工作中常见的注册表位置—安装和卸载路径
- APP PATHS
- Uninstall
- 工作中常见的注册表位置–服务/驱动
- type
- type
- 工作中常见的注册表位置—pending项
1、pending项的作用
2、pending项的应用场景 - 工作中常见的注册表位置—默认浏览器
1、协议关联位置
2、文件关联位置 - 常见的注册表位置—COM组件
– IEComLauncher.vbs
这个脚本会调用{0002DF01-0000-0000-C000-000000000046} 这个COM接口,来以-Embedding参数启动浏览器。 - 工作中常见的注册表位置—IE主页
– Start Page - 常见的注册表位置—IE默认搜索引擎
– HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes[DefaultScope]
– HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes{AFF46933-E993-4D12-B571-792FF66C1BBE}[URL]
注册表重定向
1、系统为什么要有注册表重定向机制
2、如何重定向的
Wow64.dll
注册表内部机理
- 储巢(HIVE)
- 磁盘文件对应注册表路径
- 磁盘文件对应注册表路径
注册表通知
- RegNotifyChangeKeyValue
- dwNotifyFilter参数通常有以下几种
REG_NOTIFY_CHANGE_NAME 侦测注册表项名称的变化,以及侦测注册表的创建和删除事件
REG_NOTIFY_CHANGE_ATTRIBUTES 侦测属性的变化
REG_NOTIFY_CHANGE_LAST_SET 侦测上一次修改时间的变化
REG_NOTIFY_CHANGE_SECURITY 侦测对安全特性的改动
- dwNotifyFilter参数通常有以下几种
注册表回调
- CmRegisterCallback
- 驱动使用,例如x64系统RD驱动,实现注册表防护。360qpesv64.sys实现注册表bypass,hijack功能。
- 驱动使用,例如x64系统RD驱动,实现注册表防护。360qpesv64.sys实现注册表bypass,hijack功能。