- 积分
- 1150
- 最后登录
- 2024-3-22
- 精华
- 0
- 阅读权限
- 40
- 主题
- 273
- UID
- 4730501
- 帖子
- 1779
- PB币
- 58
- 威望
- 73
- 贡献
- 0
- 技术
- 9
- 活跃
- 909
- UID
- 4730501
- 帖子
- 1779
- PB币
- 58
- 贡献
- 0
- 技术
- 9
- 活跃
- 909
|
发表于 2017-2-12 21:04:35
IP属地江苏
|显示全部楼层
自制VBS脚本,打开即可快速获取当前系统名称、版本、ID、以及密钥(这个密钥是当前电脑上已经激活了的密钥)该脚本经ESET Smart Security 9.0检测无毒。
顺便把代码亮出来:
- Option Explicit
- Dim objshell,path,DigitalID, Result
- Set objshell = CreateObject("WScript.Shell")
- 'Set registry key path
- Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
- 'Registry key value
- DigitalID = objshell.RegRead(Path & "DigitalProductId")
- Dim ProductName,ProductID,ProductKey,ProductData
- 'Get ProductName, ProductID, ProductKey
- ProductName = "Product Name:" & objshell.RegRead(Path & "ProductName")
- ProductID = "Product ID:" & objshell.RegRead(Path & "ProductID")
- ProductKey = "Product Key:" & ConvertToKey(DigitalID)
- ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
- 'Show messbox if save to a file
- If vbYes = MsgBox(ProductData & vblf & vblf & "Save to desktop file?", vbYesNo + vbQuestion, "SoHard Activate Key Finder") then
- Save ProductData
- End If
- 'Convert binary to chars
- Function ConvertToKey(Key)
- Const KeyOffset = 52
- Dim isWin10, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
- 'Check if OS is Windows 10
- isWin10 = (Key(66) \ 6) And 1
- Key(66) = (Key(66) And &HF7) Or ((isWin10 And 2) * 4)
- i = 24
- Maps = "BCDFGHJKMPQRTVWXY2346789"
- Do
- Current= 0
- j = 14
- Do
- Current = Current* 256
- Current = Key(j + KeyOffset) + Current
- Key(j + KeyOffset) = (Current \ 24)
- Current=Current Mod 24
- j = j -1
- Loop While j >= 0
- i = i -1
- KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
- Last = Current
- Loop While i >= 0
- If (isWin10 = 1) Then
- keypart1 = Mid(KeyOutput, 2, Last)
- insert = "N"
- KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
- If Last = 0 Then KeyOutput = insert & KeyOutput
- End If
- ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
- End Function
- 'Save data to a file
- Function Save(Data)
- Dim fso, fName, txt,objshell,UserName
- Set objshell = CreateObject("wscript.shell")
- 'Get current user name
- UserName = objshell.ExpandEnvironmentStrings("%UserName%")
- 'Create a text file on desktop
- fName = "C:\Users\" & UserName & "\Desktop\Windows Activate Key Backup.txt"
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set txt = fso.CreateTextFile(fName)
- txt.Writeline Data
- txt.Close
- End Function
复制代码
懂VB编程的景友应该看得懂一些。运行后的截图如下,可以选择是否将信息保存到桌面:
|
-
3
查看全部评分
-
|