Get windows product key infromation

本文介绍了一种使用VBScript从Windows注册表中读取并解析产品密钥的方法。通过创建WScript.Network对象及调用WinMGMTs获取注册表中的DigitalProductId值,进而提取出产品的激活密钥。

Option Explicit '------------------------------------------------------------------------------------- Dim objReg,WshNetwork Dim Digits (24),HexBuf (100), HexDigitalPID (15) Dim StartOffset,EndOffset,i,dLen,sLen,KEYSTRING,HN,N,Value Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F": Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K": Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R": Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X": Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4": Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9" Set WshNetwork = WScript.CreateObject("WScript.Network") Set objReg = GetObject("winmgmts://" & WshNetwork.computername & "/root/default:StdRegProv") objReg.GetBinaryValue &H80000002, "SOFTWARE/Microsoft/Windows NT/CurrentVersion/", "DigitalProductId", HexBuf StartOffset = 52 : EndOffset =67 For i = StartOffset to EndOffset HexDigitalPID (i-StartOffset) = HexBuf(i) Next dLen = 29 : sLen = 15 KEYSTRING ="" For i=dLen-1 TO 0 Step -1 IF ((i + 1) MOD 6) = 0 Then KEYSTRING = KEYSTRING & "-" Else HN = 0 For N = (sLen -1) TO 0 Step -1 Value = ( (HN *2^8 ) Or HexDigitalPID (N)) HexDigitalPID (N) = Value / 24 HN = (Value MOD 24) Next KEYSTRING = KEYSTRING & Digits(HN) End IF Next Wscript.Echo StrReverse(KEYSTRING) Wscript.quit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值