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