摘自 Cool kid blog
提权时总是要用到一些注册表命令,总是要查很麻烦,索性总结一下,以备下次使用。
1,REG QUERY /?
REG QUERY KeyName [/v ValueName | /ve] [/s]
KeyName [Machine]FullKey
Machine 远程机器名 - 忽略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey 格式为 ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 /v 查询特定注册表项 ValueName 所选项下的要查询的值的名称 省略时,该项下的所有值都会得到查询 /ve 查询默认值或空白值名称<no name> /s 查询所有子项和值
例如:
REG QUERY HKLMSoftwareMicrosoftResKit /v Version 显示注册表值 Version 的值
REG QUERY HKLMSoftwareMicrosoftResKit tSetup /s 显示注册表项 Setup 下的所有子项和值
2,REG ADD /?
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
KeyName [\Machine]FullKey 远程机器的机器名 - 忽略默认到当前机器。 远程机器上只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下注册表项的完整名
/v 所选项之下要添加的值名
/ve 为注册表项添加空白值名<无名称>
/t RegKey 数据类型 [ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ ] 如果忽略,则采用 REG_SZ
/s 指定一个在 REG_MULTI_SZ 数据字符串中 用作分隔符的字符 如果忽略,则将 "\0" 用作分隔符
/d 要分配给添加的注册表 ValueName 的数据
/f 不用提示就强行改写现有注册表项
例如:
REG ADD \ABCHKLMSoftwareMyCo 添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo
REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)
REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d fax\0mail 添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax\0mail\0\0)
REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% 添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%) 注意: 在扩充字符串中使用双百分比符号( %% )
3,REG DELETE /?
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]
KeyName [\Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 ValueName 所选项下的要删除的值的名称 省略时,该项下的所有子项和值都会被删除 /ve 删除空白值名称<no name>的值 /va 删除该项下的所有值 /f 不用提示就强行删除
例如:
REG DELETE HKLMSoftwareMyCoMyAppTimeout 删除注册表项 Timeout 及其所有子项和值
REG DELETE \ZODIACHKLMSoftwareMyCo /v MTU 删除 ZODIAC 上 MyCo 下的注册表项 MTU
4,REG COPY /?
REG COPY KeyName1 KeyName2 [/s] [/f]
KeyName [\Machine]FullKey Machine 远程机器名 - 忽略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 /s 复制所有子项和值 /f 不用提示就强行复制
例如:
REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp /s 将注册表项 MyApp 下的所有子项和值复制到注册表项 SaveMyApp
REG COPY \ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1 将 ZODIAC 上注册表项 MyCo 下的所有值 复制到当前机器上的注册表项 MyCo1
5,REG SAVE /?
REG SAVE KeyName FileName
KeyName ROOTKEYSubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名 FileName 要保存的磁盘文件名。如果没有指定路径, 文件会在调用进程的当前文件夹中得到创建
例如:
REG SAVE HKLMSoftwareMyCoMyApp AppBkUp.hiv 将配置单元 MyApp 保存到当前文件夹中的文件 AppBkUp.hiv
6,REG RESTORE /?
REG RESTORE KeyName FileName
KeyName ROOTKEYSubKey (只是本地机器) ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 要将配置单元文件还原到的注册表项全名。 改写现有项的值和子项 FileName 要还原的配置单元文件名 您必须使用 REG SAVE 来创建这个文件
例如:
REG RESTORE HKLMSoftwareMicrosoftResKit NTRKBkUp.hiv 还原文件 NTRKBkUp.hiv,改写注册表项 ResKit
7,REG LOAD /?
REG LOAD KeyName FileName
KeyName ROOTKEYSubKey (只是本地机器的) ROOTKEY [ HKLM | HKU ] SubKey 要将配置单元文件加载进的注册表项名称。创建一个新的注册表项 FileName 要加载的配置单元文件名 您必须使用 REG SAVE 来创建这个文件
例如:
REG LOAD HKLMTempHive TempHive.hiv 将文件 TempHive.hiv 加载到注册表项 HKLMTempHive
8,REG UNLOAD /?
REG UNLOAD KeyName
KeyName ROOTKEYSubKey (只是本地机器的) ROOTKEY [ HKLM | HKU ] SubKey 要卸载的配置单元的注册表项名称
例如:
REG UNLOAD HKLMTempHive 卸载 HKLM 中的配置单元 TempHive
9,REG COMPARE /?
REG COMPARE KeyName1 KeyName2 [/v ValueName | /ve] [Output] [/s]
KeyName [\Machine]FullKey Machine 远程机器名 - 省略当前机器的默认值 远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey 如果没有指定 FullKey2,FullKey2 则跟 FullKey1 相同 ROOTKEY [ HKLM
查看更多关于reg命令总结 - Windows操作系统 - 自学php的详细内容...