|

分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
最近cha询已激活Windows系统的产品密钥做备份,找了很多代码
很多都是说这个注册表
[JavaScript] 纯文本查看 复制代码 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\
里面的BackupProductKeyDefault值
但是这个并不准确
[JavaScript] 纯文本查看 复制代码 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
其实应该是这个DigitalProductId
最后从HEU里面提出来了,那边是au3写的,这个用易语言重新写个,增加返回全是BBBBBB的判定
变量名 | 类 型 | 静态 | 数组 | 备 注 | DigitalProductId | 注册表_键 | | | 字节集_bkey | 字节集 | | | 数组_akeys | 整数型 | | 0 | 计次 | 整数型 | | | 整数_iswin10 | 整数型 | | | 整数_ikeyoffset | 整数型 | | | 文本_map | 文本型 | | | 整数_i | 整数型 | | | 整数_current | 整数型 | | | 整数_ix | 整数型 | | | 输出文本 | 文本型 | | | 整数_last | 整数型 | | | 整数_格式i | 整数型 | | | 文本返回 | 文本型 | | |
集_注册表. 读取键值Ex ( #HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows NT\CurrentVersion”, “DigitalProductId”, DigitalProductId )字节集_bkey = DigitalProductId.键值 如果 (取字节集长度 (字节集_bkey ) < 1 ) 返回 (“”)  重定义数组 (数组_akeys, 假, 取字节集长度 (字节集_bkey )) 计次循环首 (取字节集长度 (字节集_bkey ), 计次 ) 数组_akeys [计次 ] = 到整数 (取字节集数据 (字节集_bkey, #字节型, 计次 )) 计次循环尾 ()整数_ikeyoffset = 52 整数_iswin10 = 位与 (右移 (数组_akeys [整数_ikeyoffset + 15 ], 3 ), 1 )数组_akeys [整数_ikeyoffset + 15 ] = 位或 (位与 (数组_akeys [整数_ikeyoffset + 15 ], 247 ), 左移 (位与 (整数_iswin10, 2 ), -2 )) 文本_map = “BCDFGHJKMPQRTVWXY2346789”整数_i = 24 判断循环首 (整数_i > -1 ) 整数_current = 0  整数_ix = 14  判断循环首 (整数_ix > -1 )  整数_current = 左移 (整数_current, 8 )  整数_current = 数组_akeys [整数_ix + 整数_ikeyoffset + 1 ] + 整数_current   数组_akeys [整数_ix + 整数_ikeyoffset + 1 ] = 取整 (整数_current ÷ 24 )  整数_current = 整数_current % 24   整数_ix = 整数_ix - 1  判断循环尾 () 整数_i = 整数_i - 1  输出文本 = 取文本中间 (文本_map, 整数_current + 1, 1 ) + 输出文本  整数_last = 整数_current 判断循环尾 () 如果 (输出文本 = “BBBBBBBBBBBBBBBBBBBBBBBBB”) 返回 (“未找到产品密钥”)   如果 (整数_iswin10 = 1 ) 输出文本 = 取文本中间 (输出文本, 2, 整数_last ) + “N” + 文本_删左边 (输出文本, 整数_last + 1 )   计次循环首 (取文本长度 (输出文本 ) ÷ 5, 整数_格式i ) 文本返回 = 文本返回 + 取文本中间 (输出文本, 5 × 整数_格式i - 4, 5 ) 如果真 (取文本长度 (输出文本 ) ÷ 5 ≠ 整数_格式i )  文本返回 = 文本返回 + “-”  计次循环尾 ()返回 (文本返回 )
|
评分
-
查看全部评分
|