Ok, consegui recuperá-lo usando o seguinte:
Faça o download do KeyViewer do AC2T ( link )
Eu usei uma ferramenta de redefinição de senha (não sei o que era, era apenas o que eu tenho usado há anos) que tinha um visualizador de registro no CD de inicialização. Naveguei para
Microsoft->Windows NT->Current Version->DigitalProductId
Quando obtiver esse valor (é realmente longo, cerca de 12 linhas de hexadecimal), insira tudo na guia 'Raw Key' do aplicativo KeyViewer. Deve cuspir sua chave do produto. Observe que isso não funciona em algumas versões do Windows Server.
Outra alternativa que encontrei é o seguinte script powershell:
# create table to convert in base 24
$map="BCDFGHJKMPQRTVWXY2346789"
# Read registry Key
$value = (get-itemproperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").digitalproductid[0x34..0x42]
# Convert in Hexa to show you the Raw Key
$hexa = ""
$value | foreach {
$hexa = $_.ToString("X2") + $hexa
}
"Raw Key Big Endian: $hexa"
# find the Product Key
$ProductKey = ""
for ($i = 24; $i -ge 0; $i--) {
$r = 0
for ($j = 14; $j -ge 0; $j--) {
$r = ($r * 256) -bxor $value[$j]
$value[$j] = [math]::Floor([double]($r/24))
$r = $r % 24
}
$ProductKey = $map[$r] + $ProductKey
if (($i % 5) -eq 0 -and $i -ne 0) {
$ProductKey = "-" + $ProductKey
}
}
"Product Key: $ProductKey"
Neste script, você pode substituir a variável $ value pela seguinte:
- Localize os locais de memória 34 a 42 no valor de registro acima da máquina que não inicializa.
- Converta cada par de números em decimal (ou seja, A1 = 161)
- Construa um array com esses valores, por exemplo. $ value = (161, ...)
Executando o script, em seguida, retorne sua chave de produto.