Hi~ 我是李小咖,主要从事网络安全技术开发和研究。

本文取自《李小咖·网安技术库》,欢迎一起交流学习🫡:https://imbyter.com

注册表是Windows中自带的的一个数据库,用于存储系统和应用程序的设置信息。在Windows系统中,我们可以通过使用reg命令来管理、修改、导出和导入注册表的信息。

一、如何打开注册表

可以通过以下两种方式打开注册表编辑器:

开始菜单搜索注册表编辑器:

“运行”对话框中输入regedit:

可以在注册表编辑器的UI中对注册表进行操作,也可以通过cmd中的reg命令来操作注册表。本节主要介绍如何通过cmd中的reg命令来操作注册表。

二、查看命令帮助

cmd中输入reg /?查看命令帮助:

D:\>reg /?

REG Operation [Parameter List]

Operation [ QUERY | ADD | DELETE | COPY |

SAVE | LOAD | UNLOAD | RESTORE |

COMPARE | EXPORT | IMPORT | FLAGS ]

返回代码: (除了 REG COMPARE)

0 - 成功

1 - 失败

要得到有关某个操作的帮助,请键入:

REG Operation /?

例如:

REG QUERY /?

REG ADD /?

REG DELETE /?

REG COPY /?

REG SAVE /?

REG RESTORE /?

REG LOAD /?

REG UNLOAD /?

REG COMPARE /?

REG EXPORT /?

REG IMPORT /?

REG FLAGS /?

三、查看功能

命令:reg query

1. 使用说明

D:\>reg query /?

2. 查看注册表项内容

如下命令:

D:\>reg query HKLM

其中,HKLM 代表HKEY_LOCAL_MACHINE,是Windows系统中的一个核心注册表键。查询结果将显示出该键下的所有子键和值。

如果我们只想查询某一个特定的键值,可以指定键路径,例如:

# reg query 后直接跟路径

D:\>reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run

这条命令查询了 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 键下的所有子键和值。

3. 根键的缩写

注册表中包含五大根键,其对应缩写如下:

HKEY_CURRENT_USER:HKCU

HKEY_CLASSES_ROOT:HKCR

HKEY_LOCAL_MACHINE:HKLM

HKEY_USERS:HKU

HKEY_CURRENT_CONFIG:HKCC

4. 递归查看

递归查看子项内容,加参数 /s:

# 递归查看子项,加参数 /s

D:\>reg query HKCU\Software\Microsoft\Windows\CurrentVersion /s

5. 查看键值

查看具体某项的键值,加参数 /v:

# 查看run启动项下的 ctfmon 的键值:

D:\>reg query HKCU\Software\Microsoft\Windows\CurrentVersion\run /v ctfmon

四、添加操作

命令:reg add

在run启动项后添加子项:

# 在run项中添加123这个子项:

D:\>reg add HKCU\Software\Microsoft\Windows\CurrentVersion\run\123

在子项123中添加一个键值对:

# 在123这个子项下,添加一个键名为test,类型为字符串(REG_SZ),值为:"This is a demo"的键值对:

D:\>reg add HKCU\Software\Microsoft\Windows\CurrentVersion\run\123 /v test /t REG_SZ /d "This is a demo"

1. 删除操作

命令:reg delete

# 删除指定注册表项

D:\>reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\run\123

2. 复制操作

命令:reg copy

将指定的注册表项复制到另一个注册表项的位置。

# 将注册表项run下面的所有的值,拷贝到123下面

# 新注册表项的位置必须是已经存在的

D:\>reg copy HKCU\Software\Microsoft\Windows\CurrentVersion\runHKCU\Software\Microsoft\Windows\CurrentVersion\run\123

3. 保存操作

命令:reg save

将指定的注册表项保存到本地磁盘的文件中,一般用hiv作为后缀。

# 将注册表项run下的所有值保存在本地123.hiv文件中

# 后缀习惯使用hiv,但非必须;操作时需要管理员权限

D:\>reg save HKCU\Software\Microsoft\Windows\CurrentVersion\run 123.hiv

4. 加载操作

命令:reg load

将save保存的注册表文件,还原到指定注册表位置上。

# 将注册表文件 123.hiv 恢复到 HKLM 根键下面:

# reg load 命令仅支持将指定的注册表文件恢复到 HKLM 或 HKU 两个住建下面

D:\>reg load HKLM\123 123.hiv

可以使用 reg unload 来解除通过 load 加载的注册表项

D:\>reg unload HKLM\123

5. 导出操作

命令:reg export

将指定的注册表项及其子项和值导出到指定文件中,一般以reg作为后缀。

# 将注册表项 run 导出到文件 123.reg 中

# 被导出的 123.reg 是以明文的形式存储注册表内容(可以直接用记事本打开查看)

D:\>reg export HKCU\Software\Microsoft\Windows\CurrentVersion\run 123.reg

reg文件可以直接双击运行,运行后的效果是将reg文件中的注册表信息还原(覆盖)到本机注册表对应位置

6. 导入操作

命令:reg import

将指定的注册表reg文件,还原(覆盖)到本机注册表对应的位置上。与直接对reg文件双击“运行”一个效果。

# 将123.reg文件中注册表设置的内容还原到本次注册表中

D:\>reg import 123.reg