Skip to content

Instantly share code, notes, and snippets.

@broilogabriel
Last active December 27, 2018 14:05
Show Gist options
  • Select an option

  • Save broilogabriel/269fab441e3551d10231b82c87551443 to your computer and use it in GitHub Desktop.

Select an option

Save broilogabriel/269fab441e3551d10231b82c87551443 to your computer and use it in GitHub Desktop.

Revisions

  1. broilogabriel revised this gist Dec 27, 2018. No changes.
  2. broilogabriel created this gist Dec 27, 2018.
    26 changes: 26 additions & 0 deletions productkey.vbs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    Set WshShell = CreateObject("WScript.Shell")
    MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))

    Function ConvertToKey(Key)
    Const KeyOffset = 52
    i = 28
    Chars = "BCDFGHJKMPQRTVWXY2346789"
    Do
    Cur = 0
    x = 14
    Do
    Cur = Cur * 256
    Cur = Key(x + KeyOffset) + Cur
    Key(x + KeyOffset) = (Cur \ 24) And 255
    Cur = Cur Mod 24
    x = x -1
    Loop While x >= 0
    i = i -1
    KeyOutput = Mid(Chars, 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
    ConvertToKey = KeyOutput
    End Function