|

分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
.版本 2
.子程序 取机器码bp, 文本型, 公开
.局部变量 size, 整数型
.局部变量 data, 字节集
.局部变量 i, 整数型
.局部变量 Length, 整数型
.局部变量 uuid, 文本型
.局部变量 between, 字节集
.局部变量 time_low, 整数型
.局部变量 n, 整数型
.局部变量 withlow, 字节集
' 备注:取主板部分参考论坛帖子,稍微修改
' wmic path Win32_ComputerSystemProduct get uuid /value 与另一种模式效果一致
' // no 取主板uuid
size = GetSystemFirmwareTable (1381190978, 0, data, 0)
data = 取空白字节集 (size)
.如果真 (size < 1)
返回 (“”)
.如果真结束
GetSystemFirmwareTable (1381190978, 0, data, size)
.如果真 (size < 1)
返回 (“”)
.如果真结束
i = 9 ' 前面8个字节忽略,储存其他信息
.判断循环首 (真)
' type 类型 1 系统信息
.如果真 (data <i> = 1)
跳出循环 ()
.如果真结束
Length = data [i + 1]
i = i + Length
' 调试输出 (编码_utf8到gb2312 (指针到文本 (buffer + i)))
' 长度信息后为字符串 找到字符串信息结束标记 就是下一个type 结构的起始位置
.判断循环首 (data <i> ≠ 0 或 data [i + 1] ≠ 0)
i = i + 1
.判断循环尾 ()
i = i + 2
.判断循环尾 ()
i = i + 8
time_low = 取字节集数据 (data, #整数型, i)
uuid = 进制_十到十六 (time_low, 真)
' 中间部分需要交换下
between = 取字节集中间 (data, i, 4)
' 第二部分 = 字节集_交换 (第二部分)
withlow = between
.计次循环首 (4 ÷ 2, n)
withlow [n × 2 - 1] = between [n × 2]
withlow [n × 2] = between [n × 2 - 1]
.计次循环尾 ()
between = withlow
.计次循环首 (4, n) ' 中间四位
uuid = uuid + 进制_十到十六 (between [n], ) ' 直接用精益模块就行
.计次循环尾 ()
i = i + 4
.计次循环首 (8, ) ' 最后八位
uuid = uuid + 进制_十到十六 (data <i>, )
i = i + 1
.计次循环尾 ()
' // no 取主板型号
uuid = uuid + 取文本注册项 (4, “HARDWARE\DESCRIPTION\System\BIOS\BaseBoardProduct”, )
' // no 生成机器码
uuid = 校验_取md5_文本 (uuid, , , )
返回 (uuid)
小七游戏登录软件
|
|