Files
WinKeys/ctKeyfinder/sources/DecodeKey.vbs
T
2023-09-07 08:41:01 +02:00

33 lines
899 B
Plaintext

Set WshShell = CreateObject("WScript.Shell")
WScript.echo decode(WshShell.RegRead(WScript.Arguments(0)))
Function decode(id)
Dim WinNew, Map, Out, A, B, C, D, E, F
WinNew = (id(66) \ 6) And 1
id(66) = (id(66) And &HF7) Or ((WinNew And 2) * 4)
A = 24
Map = "BCDFGHJKMPQRTVWXY2346789"
Do
B = 14
C = 0
Do
C = C * 256
C = id(B + 52) + C
id(B + 52) = (C \ 24)
C = C Mod 24
B = B -1
Loop While B >= 0
A = A - 1
Out = Mid(Map, C + 1, 1) & Out
E = C
Loop While A >= 0
If (WinNew = 1) Then
D = Mid(Out, 2, E)
F = "N"
Out = Replace(Out, D, D & F, 2, 1, 0)
If E = 0 Then Out = F & Out
End If
decode = Mid(Out, 1, 5) & "-" & Mid(Out, 6, 5) & "-" & Mid(Out, 11, 5) & "-" & Mid(Out, 16, 5) & "-" & Mid(Out, 21, 5)
End Function
' Urheber der Funktion leider unbekannt. Sachdienliche Hinweise bitte an axv@ct.de, danke.