Descobrir a chave de acesso do windows

Pelo fato de eu trabalhar com tecnologia da informação (TI) volta e meia aparece um amigo ou familiar e pede para eu formatar o PC e fazer uma nova instalação do windows.

O grande problema é que geralmente as pessoas não sabem a chave de acesso (serial key) do windows ou então não é mais exibido em baixo do notebook (já estragou), ou em outros casos não aparece mesmo (notebooks da Dell).

Por esse motivo eu sempre precisava encontrar outra forma de descobrir o serial key, até encontrar a solução perfeita (100% de acerto nas vezes que precisei).

Para descobrir o serial key do windows é super simples, basta salvar todo o script abaixo em um arquivo com extensão .vbs, e.g. windows_serial_key.vbs e executar o arquivo.

Esse conteúdo é disponiblizado apenas para fins didáticos e para quem deseja saber a chave de acecsso do seu próprio windows, caso deseja fazer a reinstalação do mesmo.

' VBS Script to get the Windows(R) 7 Product Key from a PC's registry.
'
' Save the VBScript as "getWin7Key.vbs" somewhere on your Windows7 PC.
' Now, when you double-click the local script file an alertbox pops up
' displaying the product key stored in the machine's Windows registry.

Set WshShell = WScript.CreateObject("WScript.Shell")

KeyPath = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"
MsgBox ExtractKey(WshShell.RegRead(KeyPath))

Function ExtractKey(KeyInput)
    Const KeyOffset = 52
    i = 28
    CharWhitelist = "BCDFGHJKMPQRTVWXY2346789"
    Do
        Cur = 0
        x = 14
        Do
            Cur = Cur * 256
            Cur = KeyInput(x + KeyOffset) + Cur
            KeyInput(x + KeyOffset) = (Cur \ 24) And 255
            Cur = Cur Mod 24
            x = x -1
        Loop While x >= 0
        i = i -1
        KeyOutput = Mid(CharWhitelist, Cur + 1, 1) & KeyOutput
        If (((29 - i) Mod 6) = 0) And (i <> -1) Then
            i = i -1
            KeyOutput = "-" & KeyOutput
        End If
    Loop While i >= 0
    ExtractKey = KeyOutput
End Function

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *