Skip to content

Instantly share code, notes, and snippets.

@evelaguti
Created April 23, 2020 15:53
Show Gist options
  • Select an option

  • Save evelaguti/2f3c2577a7920f4b5fba7ffbf2d5fdea to your computer and use it in GitHub Desktop.

Select an option

Save evelaguti/2f3c2577a7920f4b5fba7ffbf2d5fdea to your computer and use it in GitHub Desktop.

Revisions

  1. evelaguti created this gist Apr 23, 2020.
    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