34 lines
869 B
Plaintext
34 lines
869 B
Plaintext
Set WshShell = WScript.CreateObject("WScript.Shell")
|
|
|
|
KeyPath = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"
|
|
|
|
WScript.Echo 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
|
|
|
|
|
|
|