!Reg
L'estensione !reg visualizza ed esegue ricerche nei dati del Registro di sistema.
!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]
Parametri
{querykey|q} FullKeyPath
Visualizza sottochiavi e valori di una chiave se la chiave viene memorizzata nella cache. FullKeyPath specifica il percorso completo della chiave.
keyinfo HiveAddress **** KeyNodeAddress
Visualizza sottochiavi e valori di un nodo chiave. HiveAddress specifica l'indirizzo dell'hive. KeyNodeAddress specifica l'indirizzo del nodo della chiave.
kcb **** Indirizzo
Visualizza un blocco di controllo della chiave del Registro di sistema. Address specifica l'indirizzo del blocco di controllo della chiave.
knode **** Indirizzo
Visualizza una struttura del nodo della chiave del Registro di sistema. Address specifica l'indirizzo del nodo chiave.
kbody **** Indirizzo
Visualizza una struttura del corpo della chiave del Registro di sistema. Address specifica l'indirizzo del corpo della chiave. I corpi delle chiavi del Registro di sistema sono gli oggetti effettivi associati agli handle.
kvalue **** Indirizzo
Visualizza una struttura del valore della chiave del Registro di sistema. Address specifica l'indirizzo del valore.
valuelist **** HiveAddress **** KeyNodeAddress
Visualizza un elenco dei valori nel nodo chiave specificato. HiveAddress specifica l'indirizzo dell'hive. KeyNodeAddress specifica l'indirizzo del nodo della chiave.
subkeylist **** HiveAddress **** KeyNodeAddress
Visualizza un elenco delle sottochiavi del nodo chiave specificato. HiveAddress specifica l'indirizzo dell'hive. KeyNodeAddress specifica l'indirizzo del nodo della chiave.
baseblock **** HiveAddress
Visualizza il blocco di base per un hive (noto anche come intestazione hive). HiveAddress specifica l'indirizzo dell'hive.
seccache **** HiveAddress
Visualizza la cache di sicurezza per un hive. HiveAddress specifica l'indirizzo dell'hive.
hashindex [HiveAddress] HashKey
Calcola la voce dell'indice hash per una chiave hash. HiveAddress specifica l'indirizzo dell'hive. HashKey specifica la chiave.
Nota HiveAddress è obbligatorio se il computer di destinazione esegue Windows 7 o versione successiva.
openkeys {HiveAddress|0}
Visualizza tutte le chiavi aperte in un hive. HiveAddress specifica l'indirizzo dell'hive. Se invece viene usato zero, viene visualizzata l'intera tabella hash del Registro di sistema; questa tabella contiene tutte le chiavi aperte nel Registro di sistema.
findkcb **** FullKeyPath
Visualizza il blocco di controllo della chiave del Registro di sistema corrispondente a un percorso del Registro di sistema. FullKeyPath specifica il percorso completo della chiave. Questo percorso deve essere presente nella tabella hash.
hivelist
Visualizza un elenco di tutti gli hive nel sistema, insieme a informazioni dettagliate su ogni hive.
elenco di visualizzazioni **** HiveAddress
Visualizza tutte le visualizzazioni aggiunte e mappate per un hive, con informazioni dettagliate per ogni visualizzazione. HiveAddress specifica l'indirizzo dell'hive.
freebins **** HiveAddress
Visualizza tutti i bin liberi per un hive, con informazioni dettagliate per ogni contenitore. HiveAddress specifica l'indirizzo dell'hive.
freecells **** BinAddress
Scorre un contenitore e visualizza tutte le celle libere al suo interno. BinAddress specifica l'indirizzo del bin.
dirtyvector **** HiveAddress
Visualizza il vettore dirty per un hive. HiveAddress specifica l'indirizzo dell'hive.
cellindex **** Indice HiveAddress ****
Visualizza l'indirizzo virtuale per una cella in un hive. HiveAddress specifica l'indirizzo dell'hive. Index specifica l'indice della cella.
freehints Visualizzazione archiviazione **** HiveAddress ****
Visualizza informazioni sui suggerimenti gratuiti.
translist {RmAddress|0}
Visualizza l'elenco delle transazioni attive in un RM. RmAddress specifica l'indirizzo dell'RM.
uowlist TransactionAddress
Visualizza l'elenco di UoWs collegati a una transazione. TransactionAddress specifica l'indirizzo della transazione.
bloccabile KcbAddress ThreadAddress
Visualizza il contenuto della tabella di blocco pertinente.
convkey KeyPath
Visualizza le chiavi hash per un percorso della chiave.
postblocklist
Visualizza l'elenco dei thread con postblock pubblicati.
notifylist
Visualizza l'elenco dei blocchi di notifica nel sistema.
ixlock LockAddress
Visualizza la proprietà di un blocco finalità. LockAddress specifica l'indirizzo del blocco.
dumppool [s|r]
Visualizza il pool con paging allocato del Registro di sistema. Se si specifica s , l'elenco delle pagine del Registro di sistema viene salvato in un file temporaneo. Se viene specificato r , l'elenco di pagine del Registro di sistema viene ripristinato dal file temporaneo salvato in precedenza.
DLL
Kdexts.dll
Informazioni aggiuntive
Per informazioni sul Registro di sistema e sui relativi componenti, vedere Microsoft Windows Internals di Mark Russinovich e David Solomon.
Osservazioni:
Ecco un esempio. Usare prima !reg hivelist per ottenere un elenco di indirizzi hive.
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
Usare il terzo indirizzo hive nell'output precedente (fffff8a00004f010) come argomento per !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
Usare il primo percorso completo della chiave nell'output precedente (\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM) come argomento di !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
Di seguito è riportato un altro esempio:
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
Per visualizzare informazioni sulla chiave del Registro di sistema formattate, usare invece l'estensione !dreg .