Reg命令查询注册表

命令行中执行reg /?,reg query /?即可知道reg的操作方式,此处做个记录,方便记忆

reg执行哪些操作

C:\Users\Administrator>reg /?

REG Operation [Parameter List]

  Operation  [ QUERY   | ADD    | DELETE  | COPY    |
               SAVE    | LOAD   | UNLOAD  | RESTORE |
               COMPARE | EXPORT | IMPORT  | FLAGS ]

主要用到查询所以看看怎么查询

C:\Users\Administrator>reg query /?

REG QUERY KeyName [/v [ValueName] | /ve] [/s]
          [/f Data [/k] [/d] [/c] [/e]] [/t Type] [/z] [/se Separator]

  KeyName  [\\Machine\]FullKey
           Machine - 远程机器名称,省略当前机器的默认值。在远程机器上
                     只有 HKLM 和 HKU 可用。
           FullKey - 以 ROOTKEY\SubKey 名称形式
                ROOTKEY - [ HKLM | HKCU | HKCR | HKU | HKCC ]
                SubKey  - 在选择的 ROOTKEY 下的注册表项的全名

  /v       具体的注册表项值的查询。
           如果省略,会查询该项的所有值。

           只有与 /f 开关一起指定的情况下,此开关的参数才是可选的。它指定
           只在值名称中搜索。

  /ve      查询默认值或空值名称(默认)。

  /s       循环查询所有子项和值(如 dir /s)。

  /se      为 REG_MULTI_SZ 在数据字符串中指定分隔符(长度只为 1 个字符)。
           默认分隔符为 "\0"。

  /f       指定搜索的数据或模式。
           如果字符串包含空格,请使用双引号。默认为 "*"。

  /k       指定只在项名称中搜索。

  /d       指定只在数据中搜索。

  /c       指定搜索时区分大小写。
           默认搜索为不区分大小写。

  /e       指定只返回完全匹配。
           默认是返回所有匹配。

  /t       指定注册表值数据类型。
           有效的值是:
             REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ,
             REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE
           默认为所有类型。

  /z       详细: 显示值名称类型的数字等值。

示例:

  REG QUERY HKLM\Software\Microsoft\ResKit /v Version
    显示注册表值版本的值

  REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
    显示远程机器 ABC 上的、在注册表项设置下的所有子项和值

  REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #
    用 "#" 作为分隔符,显示类型为 REG_MULTI_SZ 的所有值名称的所有
    子项和值。

  REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
    以区分大小写的形式显示项、值和数据和数据类型 REG_SZ
    的、在 HKLM 更目录下的、"SYSTEM" 出现的精确次数

  REG QUERY HKCU /f 0F /d /t REG_BINARY
    显示在 HKCU 根目录下、数据类型为 REG_BINARY 的数据的项、值和
    数据的 "0F" 出现的次数。

  REG QUERY HKLM\SOFTWARE /ve
    显示在 HKLM\SOFTWARE 下的项、值和数据(默认)

实操:

项:注册表左边的一个个长得像文件夹的图标的东西就是项,项可以有子项,也可以有值,子项也是项,显示在注册表的左边

值:注册表右边的数据,值也分名称,类型和数据,类型对应二进制、字符串、多字符串、扩展字符串、32位值、64位值。编辑多字符串的时候可以换行,获取信息的时候发现每一行都是以\0结束,也就是多个字符串,扩展字符串是设置的时候%变量%会被解析,如:

C:\Users\Administrator>REG add HKLM\SOFTWARE\MICROSOFT\WISP /v "新值 #4" /t reg_expand_sz /d "%userprofile%\appdata"
操作成功完成。

C:\Users\Administrator>REG query HKLM\SOFTWARE\MICROSOFT\WISP /v "新值 #4"

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP
    新值 #4    REG_EXPAND_SZ    C:\Users\Administrator\appdata

%userprofile%在设置后再次读取被识别成真实的值了,程序中变量可以同过api:ExpandEnvironmentStrings解析,如果在注册表中手动编辑的时候写入%变量%,读取的时候是不会被解析的

获取具体的值

C:\Users\Administrator>REG QUERY HKLM\SOFTWARE\MICROSOFT\WISP /v "新值 #3"

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP
    新值 #3    REG_MULTI_SZ    HELLO WORLD\0GOOD\0WHAT THE FUCK

展示某项的所有值,不包括子项

C:\Users\Administrator>REG QUERY HKLM\SOFTWARE\MICROSOFT\WISP /v *

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP
    新值 #1    REG_SZ
    新值 #2    REG_SZ    HELLO WORLD
    新值 #3    REG_MULTI_SZ    HELLO WORLD\0GOOD\0WHAT THE FUCK
    新值 #4    REG_EXPAND_SZ    %USERPROFILE%\APPDATA
    新值 #5    REG_BINARY    766E5DE756456DFBDFFFDADFEAFAE3E3243562578356

搜索结束: 找到 5 匹配。

获取某项的一级子项和该项中的所有值

C:\Users\Administrator>REG QUERY HKLM\SOFTWARE\MICROSOFT\WISP

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP
    新值 #1    REG_SZ
    新值 #2    REG_SZ    HELLO WORLD
    新值 #3    REG_MULTI_SZ    HELLO WORLD\0GOOD\0WHAT THE FUCK
    新值 #4    REG_EXPAND_SZ    %USERPROFILE%\APPDATA
    新值 #5    REG_BINARY    766E5DE756456DFBDFFFDADFEAFAE3E3243562578356

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\ExcludedDevices
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\MultiTouch
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\Pen
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\Touch
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\新项 #1

获取所有子项和所有值

C:\Users\Administrator>REG QUERY HKLM\SOFTWARE\MICROSOFT\WISP /s

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP
    新值 #1    REG_SZ
    新值 #2    REG_SZ    HELLO WORLD
    新值 #3    REG_MULTI_SZ    HELLO WORLD\0GOOD\0WHAT THE FUCK
    新值 #4    REG_EXPAND_SZ    %USERPROFILE%\APPDATA
    新值 #5    REG_BINARY    766E5DE756456DFBDFFFDADFEAFAE3E3243562578356

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\ExcludedDevices

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\MultiTouch
    MultiTouchEnabled    REG_DWORD    0x1

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\Pen

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WISP\Pen\SysEventParameters
    (默认)    REG_SZ    Microsoft Pen System Event Parameters
    UIRightTapMode    REG_DWORD    0x1
    Move    REG_DWORD    0x28
    ShakeAngle.min    REG_DWORD    0x5
    Move.min    REG_DWORD    0xa
    FlickMode    REG_DWORD    0x1
    LagTime    REG_DWORD    0x1e
    WaitTime.max    REG_DWORD    0x3e8
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

添加:


  REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
    添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

删除:


  REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    删除注册表项 Timeout 及其所有子项和值

  REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
    删除 ZODIAC 上 MyCo 下的注册表项 MTU

如果Key中有百分号,并且两个百分号中夹杂着一个变量,如%SystemRoot%_system32_cmd.exe,需要添加^符号进行转译

C:\Users\Administrator>reg query hkcu\console\^%SystemRoot^%_system32_cmd.exe

HKEY_CURRENT_USER\console\%SystemRoot%_system32_cmd.exe
    CodePage    REG_DWORD    0x3a8
    ScreenBufferSize    REG_DWORD    0x3e80078
    WindowSize    REG_DWORD    0x730078
    FaceName    REG_SZ    Terminal
    FontSize    REG_DWORD    0x10000c
    FontFamily    REG_DWORD    0x30
    FontWeight    REG_DWORD    0x190

其他用户的注册表:

假如现在有用户Administrator和用户test,当前登录用户是Administrator,注册表中的HKEY_USERS里面没有test对应的sid的注册表,要获取用户的sid,可以通过NetUserGetInfo获取

LPUSER_INFO_4 pUserInfo4 = NULL;
NET_API_STATUS n4Status = NetUserGetInfo(NULL, usri1_name, 4, (LPBYTE*)&pUserInfo4)

也可以通过NetUserEnum遍历用户,获取用户名,NetUserEnum不能直接获取level4的用户信息,

用户的注册表在c:\users\test\ntuser.dat,可以通过

reg load hku\test c:\users\test\ntuser.data

把test的user注册表挂载到注册表,也可以自行获取sid然后根据windows的用户注册表挂载名称的规则挂载。其中常用路径在

C:\Users\test1>reg query "hku\test\software\microsoft\windows\currentversion\explorer\user shell folders"

C:\Users\test1>reg query "hkcu\software\microsoft\windows\currentversion\explorer\user shell folders"

有一个相似的注册表路径

hkcu\software\microsoft\windows\currentversion\explorer\shell folders

通过检测,shell folders里面的appdata项改掉后echo %appdata%不会改变,修改user shell folders里面的appdata项才会改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值