次の方法で共有


!reg

!reg 拡張機能は、レジストリ データを表示および検索します。

!reg {querykey|q} FullKeyPath
!reg keyinfo HiveAddress KeyNodeAddress
!reg kcb Address 
!reg knode Address 
!reg kbody Address 
!reg kvalue Address 
!reg valuelist HiveAddress KeyNodeAddress 
!reg subkeylist HiveAddress KeyNodeAddress  
!reg baseblock HiveAddress 
!reg seccache HiveAddress 
!reg hashindex [HiveAddress]HashKey
!reg openkeys {HiveAddress|0}
!reg openhandles {HiveAddress|0} 
!reg findkcb FullKeyPath 
!reg hivelist 
!reg viewlist HiveAddress 
!reg freebins HiveAddress 
!reg freecells BinAddress 
!reg dirtyvector HiveAddress 
!reg cellindex HiveAddress Index
!reg freehints HiveAddress Storage Display 
!reg translist {RmAddress|0}
!reg uowlist TransactionAddress
!reg locktable KcbAddress ThreadAddress
!reg convkey KeyPath
!reg postblocklist
!reg notifylist
!reg ixlock LockAddress
!reg dumppool [s|r]

パラメーター

{querykey|q} **** FullKeyPath
キーがキャッシュされている場合は、キーのサブキーと値を表示します。 FullKeyPath は、キーのフル パスを指定します。

keyinfo HiveAddress **** KeyNodeAddress
キー ノードのサブキーと値を表示します。 HiveAddress は、ハイブのアドレスを指定します。 KeyNodeAddress は、キー ノードのアドレスを指定します。

kcb **** 住所
レジストリのキー制御ブロックを表示します。 Address は、キー制御ブロックのアドレスを指定します。

knode **** 住所
レジストリのキー ノード構造を表示します。 Address は、キー ノードのアドレスを指定します。

kbody **** 住所
レジストリのキー本体の構造を表示します。 Address は、キー本体のアドレスを指定します (レジストリのキー本体は、ハンドルに関連付けられた実際のオブジェクトです)。

kvalue **** 住所
レジストリのキー値構造を表示します。 Address は、値のアドレスを指定します。

valuelist **** HiveAddress **** KeyNodeAddress
指定されたキー ノード内の値のリストを表示します。 HiveAddress は、ハイブのアドレスを指定します。 KeyNodeAddress は、キー ノードのアドレスを指定します。

subkeylist **** HiveAddress **** KeyNodeAddress
指定されたキー ノードのサブキーのリストを表示します。 HiveAddress は、ハイブのアドレスを指定します。 KeyNodeAddress は、キー ノードのアドレスを指定します。

baseblock **** HiveAddress
ハイブのベース ブロック (ハイブ ヘッダー とも呼ばれます) を表示します。 HiveAddress は、ハイブのアドレスを指定します。

seccache **** HiveAddress
ハイブのセキュリティ キャッシュを表示します。 HiveAddress は、ハイブのアドレスを指定します。

hashindex **** [HiveAddress] **** HashKey
ハッシュ キーのハッシュ インデックス エントリを計算します。 HiveAddress は、ハイブのアドレスを指定します。 HashKey は、キーを指定します。

HiveAddress は、ターゲット コンピューターが Windows 7 以降を実行している場合に必要です。

openkeys {HiveAddress|0}
ハイブ内のすべてのオープン キーを表示します。 HiveAddress は、ハイブのアドレスを指定します。 代わりにゼロを使用すると、レジストリ ハッシュ テーブル全体が表示されます。このテーブルには、レジストリ内の開いているキーがすべて含まれています。

findkcb **** FullKeyPath
レジストリ パスに対応するレジストリ キー制御ブロックを表示します。 FullKeyPath は、キーのフル パスを指定します。このパスはハッシュ テーブルに存在する必要があります。

hivelist
システム内のすべてのハイブのリストを、各ハイブの詳細情報と共に表示します。

viewlist **** HiveAddress
ハイブのピン留めされたビューとマップされたビューをすべて、各ビューの詳細情報と共に表示します。 HiveAddress は、ハイブのアドレスを指定します。

freebins **** HiveAddress
ハイブのすべての空きビンを、各ビンの詳細情報と共に表示します。 HiveAddress は、ハイブのアドレスを指定します。

freecells **** BinAddress
ビンを反復処理し、その中のすべてのフリー セルを表示します。 BinAddress は、ビンのアドレスを指定します。

dirtyvector **** HiveAddress
ハイブのダーティ ベクタを表示します。 HiveAddress は、ハイブのアドレスを指定します。

cellindex **** HiveAddress **** Index
ハイブ内のセルの仮想アドレスを表示します。 HiveAddress は、ハイブのアドレスを指定します。 Index は、セルのインデックスを指定します。

freehints HiveAddress **** Storage **** Display
フリー ヒント情報を表示します。

translist {RmAddress|0}
RM 内のアクティブなトランザクションのリストを表示します。 RmAddress は、RM のアドレスを指定します。

uowlist TransactionAddress
トランザクションにアタッチされている UoW のリストを表示します。 TransactionAddress は、トランザクションのアドレスを指定します。

locktable KcbAddress ThreadAddress
関連するロック・テーブルの内容を表示します。

convkey KeyPath
キー パスのハッシュ キーを表示します。

postblocklist
ポストブロックが書き込まれたスレッドのリストを表示する。

notifylist
システム内の通知ブロックのリストを表示します。

ixlock LockAddress
インテント ロックの所有権を表示します。 LockAddress は、ロックのアドレスを指定します。

dumppool [s|r]
レジストリに割り当てられたページ プールを表示します。 s を指定した場合は、レジストリ ページのリストが一時ファイルに保存されます。 Ir を指定した場合は、レジストリ ページ リストが、以前に保存された一時ファイルから復元されます。

DLL

Kdexts.dll

追加情報

レジストリとその構成要素については、『Microsoft Windows Internals』 (Mark Russinovich および David Solomon 共著) を参照してください。

解説

次に例を示します。 まず、ハイブ アドレスのリストを取得するには、!reg hivelist を使用します。

00: kd> !reg hivelist
## 

## |     HiveAddr     |Stable Length|    Stable Map    |Volatile Length|    Volatile Map    |MappedViews|PinnedViews|U(Cnt)|     BaseBlock     | FileName 

| fffff8a000014010 |       1000  | fffff8a0000140b0 |       1000    |  fffff8a000014328  |     0| fffff8a00001e000  | <NONAME>
| fffff8a000028010 |     a15000  | fffff8a00002e000 |      1a000    |  fffff8a000028328  |     0| fffff8a000029000  | SYSTEM
| fffff8a00004f010 |      14000  | fffff8a00004f0b0 |       c000    |  fffff8a00004f328  |     0| fffff8a000050000  | <NONAME>
| fffff8a000329010 |       6000  | fffff8a0003290b0 |          0    |  0000000000000000  |     0| fffff8a00032f000  | Device\HarddiskVolume1\Boot\BCD
| fffff8a0002f2010 |    4255000  | fffff8a0006fa000 |       6000    |  fffff8a0002f2328  |     0| fffff8a00036c000  | emRoot\System32\Config\SOFTWARE
| fffff8a000df0010 |      f7000  | fffff8a000df00b0 |       1000    |  fffff8a000df0328  |     0| fffff8a000df1000  | temRoot\System32\Config\DEFAULT
| fffff8a0010f8010 |       9000  | fffff8a0010f80b0 |       1000    |  fffff8a0010f8328  |     0| fffff8a0010f9000  | emRoot\System32\Config\SECURITY
| fffff8a001158010 |       7000  | fffff8a0011580b0 |          0    |  0000000000000000  |     0| fffff8a001159000  | \SystemRoot\System32\Config\SAM
| fffff8a00124b010 |      24000  | fffff8a00124b0b0 |          0    |  0000000000000000  |     0| fffff8a00124c000  | files\NetworkService\NTUSER.DAT
| fffff8a0012df220 |      b7000  | fffff8a0012df2c0 |          0    |  0000000000000000  |     0| fffff8a0012e6000  | \SystemRoot\System32\Config\BBI
| fffff8a001312220 |      26000  | fffff8a0013122c0 |          0    |  0000000000000000  |     0| fffff8a00117e000  | rofiles\LocalService\NTUSER.DAT
| fffff8a001928010 |      64000  | fffff8a0019280b0 |       3000    |  fffff8a001928328  |     0| fffff8a00192b000  | User.MYTESTCOMPUTER2\ntuser.dat
| fffff8a001b9b010 |     203000  | fffff8a001bc4000 |          0    |  0000000000000000  |     0| fffff8a001b9c000  | \Microsoft\Windows\UsrClass.dat
| fffff8a001dc0010 |      30000  | fffff8a001dc00b0 |          0    |  0000000000000000  |     0| fffff8a001dc2000  | Volume Information\Syscache.hve
## | fffff8a0022dc010 |     175000  | fffff8a0022dc0b0 |          0    |  0000000000000000  |     0| fffff8a0022dd000  | \AppCompat\Programs\Amcache.hve

上の出力の 3 番目のハイブ アドレス (fffff8a00004f010) を !reg openkeys への引数として使用します。

0: kd> !reg openkeys fffff8a00004f010

# Hive: \REGISTRY\MACHINE\HARDWARE

Index e9:    3069276d kcb=fffff8a00007eb98 cell=00000220 f=00200000 \REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM
Index 101:   292eea1f kcb=fffff8a00007ecc0 cell=000003b8 f=00200000 \REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MULTIFUNCTIONADAPTER
Index 140:   d927b0d4 kcb=fffff8a00007ea70 cell=000001a8 f=00200000 \REGISTRY\MACHINE\HARDWARE\DESCRIPTION
Index 160:   96d26a30 kcb=fffff8a00007e6f8 cell=00000020 f=002c0000 \REGISTRY\MACHINE\HARDWARE

# 0x4 keys found

上の出力の最初のフル キー パス (\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM) を !reg querykey への引数として使用します。

0: kd> !reg querykey \REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM

Found KCB = fffff8a00007eb98 :: \REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM

Hive         fffff8a00004f010
KeyNode      fffff8a000054224

[SubKeyAddr]         [SubKeyName]
fffff8a000060244     CentralProcessor
fffff8a00006042c     FloatingPointProcessor
fffff8a0000543bc     MultifunctionAdapter

[SubKeyAddr]         [VolatileSubKeyName]
fffff8a000338d8c     BIOS
fffff8a0002a2e4c     VideoAdapterBusses

 Use '!reg keyinfo fffff8a00004f010 <SubKeyAddr>' to dump the subkey details

[ValueType]         [ValueName]                   [ValueData]
REG_BINARY          Component Information         0x542AC - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
REG_SZ              Identifier                    AT/AT COMPATIBLE
REG_FULL_RESOURCE_DESCRIPTORConfiguration Data            ff ff ff ff ff ff ff ff 00 00 00 00 02 00 00 00 05 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 ff 03 00 00 3f 00 fe 00 02 00 81 00 fe 03 00 00 3f 00 fe 00 02 00 05 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 04 00 
REG_SZ              SystemBiosDate                07/18/07
REG_MULTI_SZ        SystemBiosVersion             HPQOEM - 20070718\0\0
REG_SZ              VideoBiosDate                 03/23/20
REG_MULTI_SZ        VideoBiosVersion              Hardware Version 0.0\0\0

次に別の例を示します。

kd> !reg hivelist
## 

## | HiveAddr |Stable Length|Stable Map|Volatile Length|Volatile Map|MappedViews|PinnedViews|U(Cnt)| BaseBlock | FileName 

| e16e7428 |       2000  | e16e7484 |          0    |  00000000  |        1  |        0  |     0| e101f000  | \Microsoft\Windows\UsrClass.dat
| e1705a78 |      77000  | e1705ad4 |       1000    |  e1705bb0  |       30  |        0  |     0| e101c000  | ttings\Administrator\ntuser.dat
| e13d4b88 |     814000  | e146a000 |       1000    |  e13d4cc0  |      255  |        0  |     0| e1460000  | emRoot\System32\Config\SOFTWARE
| e13ad008 |      23000  | e13ad064 |       1000    |  e13ad140  |        9  |        0  |     0| e145e000  | temRoot\System32\Config\DEFAULT
| e13b3b88 |       a000  | e13b3be4 |       1000    |  e13b3cc0  |        3  |        0  |     0| e145d000  | emRoot\System32\Config\SECURITY
| e142d008 |       5000  | e142d064 |          0    |  00000000  |        2  |        0  |     0| e145f000  | <UNKNOWN>
| e11e3628 |       4000  | e11e3684 |       3000    |  e11e3760  |        0  |        0  |     0| e11e4000  | <NONAME>
| e10168a8 |     1c1000  | e1016904 |      15000    |  e10169e0  |       66  |        0  |     0| e1017000  | SYSTEM
## | e10072c8 |       1000  | e1007324 |          0    |  00000000  |        0  |        0  |     0| e1010000  | <NONAME>


kd> !reg hashindex e16e7428

CmpCacheTable = e100a000

Hash Index[e16e7428] : 5ac
Hash Entry[e16e7428] : e100b6b0

kd> !reg openkeys e16e7428

Index 68:  7bab7683 kcb=e13314f8 cell=00000740 f=00200004 \REGISTRY\USER\S-1-5-21-1715567821-413027322-527237240-500_Classes\CLSID
Index 7a1:  48a30288 kcb=e13a3738 cell=00000020 f=002c0004 \REGISTRY\USER\S-1-5-21-1715567821-413027322-527237240-500_Classes

フォーマットされたレジストリ キー情報を表示するには、!dreg 拡張機能を使用します。