Partilhar via


!reg

A extensão !reg exibe e pesquisa dados do Registro.

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

Parâmetros

{querykey|q} **** FullKeyPath
Exibe subchaves e valores de uma chave se a chave estiver armazenada em cache. FullKeyPath especifica o caminho de chave completo.

Informações principaisEndereço do Hive **** KeyNodeAddress
Exibe subchaves e valores de um nó de chave. HiveAddress especifica o endereço do hive KeyNodeAddress especifica o endereço do nó da chave.

Kcb **** Endereço
Exibe um bloco de controle de chave do Registro. Address especifica o endereço do bloco de controle de chave.

**** nóEndereço
Exibe uma estrutura de nó de chave do Registro. Address especifica o endereço do nó da chave.

kbody **** Endereço
Exibe uma estrutura de corpo de chave do Registro. Address especifica o endereço do corpo da chave. (Os corpos de chave do Registro são os objetos reais associados aos identificadores.)

kvalor **** Endereço
Exibe uma estrutura de valor de chave do Registro. Address especifica o endereço do valor.

lista de **** valoresEndereço do Hive **** KeyNodeAddress
Exibe uma lista dos valores no nó de chave especificado. HiveAddress especifica o endereço do hive KeyNodeAddress especifica o endereço do nó da chave.

subkeylist **** HiveAddress **** KeyNodeAddress
Exibe uma lista das subchaves do nó de chave especificado. HiveAddress especifica o endereço do hive KeyNodeAddress especifica o endereço do nó da chave.

bloco de **** baseEndereço da Colmeia
Exibe o bloco base de um hive (também conhecido como o cabeçalho do hive). HiveAddress especifica o endereço do hive

seccache **** Endereço da Colmeia
Exibe o cache de segurança de um hive. HiveAddress especifica o endereço do hive

hashindex **** [HiveAddress] **** HashKey
Calcula a entrada de índice de hash para uma chave de hash. HiveAddress especifica o endereço do hive HashKey especifica a chave.

Observação HiveAddress será necessário se o computador de destino estiver executando o Windows 7 ou posterior.

openkeys {HiveAddress|0}
Exibe todas as teclas abertas em um hive. HiveAddress especifica o endereço do hive Se for usado zero, toda a tabela de hash do Registro será exibida; essa tabela contém todas as chaves abertas no Registro.

encontrar o Findkcb **** Caminho Completo
Exibe o bloco de controle de chave do Registro correspondente a um caminho do Registro. FullKeyPath especifica o caminho de chave completo; esse caminho deve estar presente na tabela de hash.

lista de colmeias
Exibe uma lista de todos os hives no sistema, além de informações detalhadas sobre cada hive.

lista de **** visualizaçõesEndereço da Colmeia
Mostra todos os modos de exibição fixados e mapeados para um hive, com informações detalhadas para cada modo de exibição. HiveAddress especifica o endereço do hive

Freebins **** Endereço da Colmeia
Exibe todas as lixeiras livres para um hive, com informações detalhadas para cada lixeira. HiveAddress especifica o endereço do hive

Células **** livresEndereço BinN
Itera através de um compartimento e exibe todas as células livres dentro dele. BinAddress especifica o endereço do compartimento.

de vetor **** sujoEndereço da Colmeia
Exibe o vetor sujo de um hive. HiveAddress especifica o endereço do hive

índice de **** célulasÍndice do HiveAddress ****
Exibe o endereço virtual de uma célula em um hive. HiveAddress especifica o endereço do hive Index especifica o índice de célula.

dicas grátisExibição de armazenamento **** HiveAddress ****
Exibe informações de dicas gratuitas.

translist {RmAddress|0}
Exibe a lista de transações ativas em um RM. RmAddress especifica o endereço do RM.

lista de usuáriosEndereçoDeTransação
Exibe a lista de UoWs anexados a uma transação. TransactionAddress especifica o endereço da transação.

Mesa de bloqueioKcbAddress Endereço de Thread
Exibe o conteúdo relevante da tabela de bloqueio.

chave de conversãoCaminho de chave
Exibe chaves de hash para um caminho de chave.

pós-lista de bloqueios
Exibe a lista de threads que postaram postblocks.

lista de notificações
Exibe a lista de blocos de notificação no sistema.

Ixlock Endereço de bloqueio
Exibe a propriedade de um bloqueio de intenção. LockAddress especifica o endereço do bloqueio.

dumppool [s|r]
Exibe o pool paginado alocado no Registro. Se s for especificado, a lista de páginas do Registro será salva em um arquivo temporário. Se r for especificado, a lista de páginas do Registro será restaurada a partir do arquivo temporário salvo anteriormente.

DLL

Kdexts.dll

Informações Adicionais

Para obter informações sobre o Registro e seus componentes, consulte Microsoft Windows Internals de Mark Russinovich e David Solomon.

Comentários

Veja um exemplo. Primeiro use !reg hivelist para obter uma lista de endereços de 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

Use o terceiro endereço de hive na saída anterior (fffff8a00004f010) como um argumento para !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

Use o primeiro caminho de chave completo na saída anterior (\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM) como um argumento para !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

Veja outro exemplo:

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

Para exibir informações de chave do Registro formatadas, use a extensão !dreg.