Freigeben über


!reg

Die Erweiterung !reg zeigt Registrierungsdaten an und durchsucht sie.

!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]

Parameter

{querykey|q} **** FullKeyPath
Zeigt Unterschlüssel und Werte eines Schlüssels an, wenn der Schlüssel im Cache gespeichert ist. FullKeyPath gibt den vollständigen Schlüsselpfad an.

keyinfo HiveAddress KeyNodeAddress ****
Zeigt Unterschlüssel und Werte eines Schlüsselknotens an. HiveAddress gibt die Adresse des Hives an. KeyNodeAddress gibt die Adresse des Schlüsselknotens an.

Kcb **** Adresse
Zeigt einen Steuerblock für Registrierungsschlüssel an. Die Adresse gibt die Adresse des Schlüsselkontrollblocks an.

knode **** Adresse
Zeigt die Struktur eines Registrierungsschlüsselknotens an. Adresse gibt die Adresse des Schlüsselknotens an.

kbody **** Adresse
Zeigt die Struktur eines Registrierungsschlüssels an. Adresse gibt die Adresse des Schlüsselkörpers an. (Registrierungsschlüsselkörper sind die eigentlichen Objekte, die mit Handles verbunden sind)

kvalue **** Adresse
Zeigt eine Struktur von Registrierungsschlüsselwerten an. Adresse gibt die Adresse des Wertes an.

Wertliste **** HiveAddress KeyNodeAddress ****
Zeigt eine Liste der Werte im angegebenen Schlüsselknoten an. HiveAddress gibt die Adresse des Hives an. KeyNodeAddress gibt die Adresse des Schlüsselknotens an.

subkeylist **** HiveAddress **** KeyNodeAddress
Zeigt eine Liste der Unterschlüssel des angegebenen Schlüsselknotens an. HiveAddress gibt die Adresse des Hives an. KeyNodeAddress gibt die Adresse des Schlüsselknotens an.

Baseblock **** HiveAddress
Zeigt den Basisblock für einen Hive an (auch bekannt als hive header). HiveAddress gibt die Adresse des Hives an.

seccache **** HiveAddress
Zeigt den Sicherheits-Cache für einen Hive an. HiveAddress gibt die Adresse des Hives an.

hashindex **** [HiveAddress] **** HashKey
Berechnet den Hash-Index-Eintrag für einen Hash-Schlüssel. HiveAddress gibt die Adresse des Hives an. HashKey gibt den Schlüssel an.

Hinweis HiveAddress ist erforderlich, wenn auf dem Zielcomputer Windows 7 oder höher ausgeführt wird.

Openkeys {HiveAddress|0}
Zeigt alle offenen Schlüssel in einem Hive an. HiveAddress gibt die Adresse des Hives an. Wenn stattdessen Null verwendet wird, wird die gesamte Hash-Tabelle der Registrierung angezeigt; diese Tabelle enthält alle offenen Schlüssel in der Registrierung.

findkcb **** FullKeyPath
Zeigt den Steuerblock des Registrierungsschlüssels an, der einem Registrierungspfad entspricht. FullKeyPath gibt den vollständigen Schlüsselpfad an; dieser Pfad muss in der Hashtabelle vorhanden sein.

Strukturliste
Zeigt eine Liste aller Hives im System an, zusammen mit detaillierten Informationen zu jedem Hive.

Viewlist **** HiveAddress
Zeigt alle angehefteten und zugeordneten Ansichten für einen Hive an, mit detaillierten Informationen für jede Ansicht. HiveAddress gibt die Adresse des Hives an.

Freebins **** HiveAddress
Zeigt alle freien Plätze eines Bienenstocks an, mit detaillierten Informationen zu jedem Platz. HiveAddress gibt die Adresse des Hives an.

freecells **** BinAddress
Iteriert durch einen Bin und zeigt alle freien Zellen darin an. BinAddress gibt die Adresse des Lagerplatzes an.

dirtyvector **** HiveAddress
Zeigt den Dirty-Vektor für einen Hive an. HiveAddress gibt die Adresse des Hives an.

cellindex **** HiveAddress **** Index
Zeigt die virtuelle Adresse für eine Zelle in einem Hive an. HiveAddress gibt die Adresse des Hives an. Index gibt den Zellenindex an.

Freehints HiveAddress **** Storage **** Display
Zeigt Informationen zu freien Hinweisen an.

translist {RmAddress|0}
Zeigt die Liste der aktiven Transaktionen in einer RM an. RmAddress gibt die Adresse des RM an.

Uowlist TransactionAddress
Zeigt die Liste der UoWs an, die mit einer Transaktion verbunden sind. TransactionAddress gibt die Adresse der Transaktion an.

Sperrtabelle KcbAddress ThreadAddress
Zeigt den relevanten Inhalt der Sperrtabelle an.

Convkey KeyPath
Zeigt Hash-Schlüssel für einen Schlüsselpfad an.

postblocklist
Zeigt die Liste der Threads an, die Postblocks gebucht haben.

Notifylist
Zeigt die Liste der Benachrichtigungsblöcke im System an.

ixlock LockAddress
Zeigt den Besitz einer Absichtssperre an. LockAddress gibt die Adresse der Sperre an.

Dumppool [s|r]
Zeigt den in der Registrierung zugewiesenen Auslagerungspool an. Wenn s angegeben ist, wird die Liste der Registrierungsseiten in einer temporären Datei gespeichert. Wenn r angegeben ist, wird die Liste der Registrierungsseiten aus der zuvor gespeicherten temporären Datei wiederhergestellt.

DLL

Kdexts.dll

Zusätzliche Informationen

Informationen über die Registrierung und ihre Komponenten finden Sie unter Microsoft Windows Internals von Mark Russinovich und David Solomon.

Hinweise

Beispiel: Verwenden Sie zunächst !reg hivelist, um eine Liste der Hive-Adressen zu erhalten.

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

Verwenden Sie die dritte Hive-Adresse in der vorangegangenen Ausgabe (fffff8a00004f010) als Argument für !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

Verwenden Sie den ersten vollständigen Schlüsselpfad in der vorangegangenen Ausgabe (\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM) als Argument für !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

Hier ist ein weiteres Beispiel angegeben:

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

Um formatierte Registrierungsschlüsselinformationen anzuzeigen, verwenden Sie stattdessen die Erweiterung !dreg.