窗口程序集名 | 保 留 | 保 留 | 备 注 |
程序集1 | | | |
变量名 | 类 型 | 数组 | 备 注 |
KMS服务器 | 文本型 | |
激活模式 | 整数型 | |
系统版本 | 文本型 | |
|
GetVolumeInformationA | 整数型 | |
|
kernel32.dll |
|
GetVolumeInformationA |
|
根路径 | 文本型 | | |
卷名称 | 文本型 | | |
卷名称长度 | 整数型 | | |
序列号 | 整数型 | | |
最大组件长度 | 整数型 | | |
文件系统标志 | 整数型 | | |
文件系统名称 | 文本型 | | |
文件系统名称长度 | 整数型 | | |
|
GetSystemFirmwareTable | 整数型 | |
|
kernel32.dll |
|
GetSystemFirmwareTable |
|
固件表提供商标识 | 整数型 | | |
固件表ID | 整数型 | | |
固件表缓冲区 | 整数型 | | |
缓冲区大小 | 整数型 | | |
|
WMI_Query | 逻辑型 | |
|
wbemdisp.dll |
|
ExecQuery |
|
对象 | 对象 | | |
查询语句 | 文本型 | | |
标志 | 整数型 | | |
上下文 | 整数型 | | |
结果集 | 对象 | | |
|
CreateProcessWithTokenW | 逻辑型 | |
|
advapi32.dll |
|
CreateProcessWithTokenW |
|
令牌句柄 | 整数型 | | |
登录标志 | 整数型 | | |
应用程序名 | 文本型 | | |
命令行 | 文本型 | | |
创建标志 | 整数型 | | |
环境变量 | 整数型 | | |
当前目录 | 文本型 | | |
启动信息 | 整数型 | | |
进程信息 | 整数型 | | |
标签1.标题 = "Windows激活工具 v3.0"
按钮_HWID.标题 = "数字权利激活"
按钮_KMS.标题 = "KMS激活"
按钮_Ohook.标题 = "Office激活"
按钮_退出.标题 = "退出"
组合框1.
加入项目 ("Windows 8",
)组合框1.
加入项目 ("Windows 8.1",
)组合框1.
加入项目 ("Windows 10",
)组合框1.
加入项目 ("Windows 11",
)组合框1.
加入项目 ("Windows Server 2022",
)组合框1.现行选中项 = 2
KMS服务器 = "kms.luody.info"
如果真 (是否管理员 () =
假)
信息框 ("请以管理员身份运行此程序", 0, "权限错误",
)
结束 () 系统版本 =
取系统版本信息 () 激活模式 = 1
如果真 (HWID激活 ())
信息框 ("✅ 数字权利激活成功!", 0, "成功",
)
信息框 ("❌ 激活失败,请检查网络连接", 0, "错误",
)
激活模式 = 2
系统版本 = 组合框1.
取项目文本 (组合框1.现行选中项
)
如果真 (KMS激活 (系统版本
))
信息框 ("✅ KMS激活成功! 有效期180天", 0, "成功",
)
信息框 ("❌ 激活失败,请检查KMS服务器", 0, "错误",
)
如果真 (Ohook激活 ())
信息框 ("✅ Office激活成功!", 0, "成功",
)
信息框 ("❌ Office激活失败", 0, "错误",
)
结束 () .局部变量 硬件ID, 文本型
.局部变量 激活结果, 逻辑型
状态条1.
置文本 (0, "正在生成硬件ID..."
)处理事件 () 硬件ID =
生成硬件ID ()调试输出 ("生成的硬件ID: ", 硬件ID
) 状态条1.
置文本 (0, "正在连接微软激活服务器..."
)处理事件 ()激活结果 =
模拟数字许可请求 (硬件ID
)
如果 (激活结果
)
写注册项 ( #本地机器, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation", "Manual", 0
)
写注册项 ( #本地机器, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform", "KeyManagementServiceName", ""
)
运行 ("cmd /c slmgr /ato", 假,
#隐藏窗口 )

状态条1.
置文本 (0, "激活成功!"
)
返回 真


状态条1.
置文本 (0, "激活失败"
)
返回 假
|
(暂未填写DLL命令名) | | |
|
(未填写库文件名) |
|
(未填写命令名) |
|
系统版本 | 文本型 | | |
.局部变量 KMS密钥, 文本型
.局部变量 激活命令, 文本型
判断 (系统版本 = "Windows 8"
)
KMS密钥 = "TNMJF-WNRC2-46M8B-VK668-YC7KB"

判断 (系统版本 = "Windows 8.1"
)
KMS密钥 = "MHF9N-XY6XB-WVXMC-BTDCT-MKKG7"

判断 (系统版本 = "Windows 10"
)
KMS密钥 = "W269N-WFGWX-YVC9B-4J6C9-T83GX"

判断 (系统版本 = "Windows 11"
)
KMS密钥 = "TX9XD-98N7V-6WMQ6-BX7FG-H8Q99"

判断 (系统版本 = "Windows Server 2022"
)
KMS密钥 = "WX4NM-KYWYW-QJJR4-XV3QB-6VM33"


KMS密钥 = ""
如果真 (KMS密钥 = ""
)
返回 假
状态条1.
置文本 (0, "正在安装产品密钥..."
)处理事件 () 运行 ("cmd /c cscript //Nologo slmgr.vbs /upk", 真,
#隐藏窗口 ) 激活命令 = "cmd /c cscript //Nologo slmgr.vbs /ipk " + KMS密钥
运行 (激活命令, 真,
#隐藏窗口 )状态条1.
置文本 (0, "正在设置KMS服务器..."
)处理事件 () 激活命令 = "cmd /c cscript //Nologo slmgr.vbs /skms " + KMS服务器
运行 (激活命令, 真,
#隐藏窗口 )状态条1.
置文本 (0, "正在激活系统..."
)处理事件 () 激活命令 = "cmd /c cscript //Nologo slmgr.vbs /ato"
运行 (激活命令, 真,
#隐藏窗口 ) 设置续期任务 () 返回
验证激活状态 () .局部变量 Office路径, 文本型
.局部变量 目标文件, 文本型
Office路径 =
取Office安装路径 ()
如果真 (Office路径 = ""
)
返回 假
目标文件 = Office路径 + "\pkeyconfig-office.xrm-ms"
如果真 (文件是否存在 (目标文件
))
复制文件 (目标文件, 目标文件 + ".bak"
)
如果真 (文件复制 (取运行目录 () + "\data\pkeyconfig-office.xrm-ms", 目标文件
))
运行 ("cmd /c takeown /f " + 目标文件 + " && icacls " + 目标文件 + " /grant administrators:F", 真,
#隐藏窗口 )
运行 ("cmd /c cd /d " + Office路径 + " && cscript ospp.vbs /rearm", 真,
#隐藏窗口 )

返回 真


返回 假
返回 假
.局部变量 硬件信息, 文本型
硬件信息 =
取CPU序列号 () +
取硬盘序列号 () +
取主板序列号 () +
取MAC地址 ()返回
取数据摘要 (到字节集 (硬件信息
))
.局部变量 WMI服务, 对象
.局部变量 查询结果, 对象
.局部变量 CPU项, 对象
.局部变量 CPU序列号, 文本型
WMI服务.
创建 ("WbemScripting.SWbemLocator",
)查询结果 = WMI服务.
连接服务器 (".", "root\cimv2"
).
执行查询 ("SELECT ProcessorId FROM Win32_Processor"
)
计次循环首 (查询结果.计数,
)
CPU项 = 查询结果.
取对象 ()
CPU序列号 = CPU项.
读属性 ("ProcessorId"
)
如果真 (CPU序列号 ≠ ""
)
跳出循环 ()

计次循环尾 ()返回 CPU序列号
.局部变量 卷序列号, 整数型
.局部变量 序列号文本, 文本型
GetVolumeInformationA ("C:\", "", 0, 卷序列号, 0, 0, "", 0
)序列号文本 =
取十六进制文本 (卷序列号
)
判断循环首 (取文本长度 (序列号文本
) < 8
)
序列号文本 = "0" + 序列号文本


判断循环尾
返回 序列号文本
.局部变量 缓冲区大小, 整数型
.局部变量 缓冲区, 字节集
.局部变量 结果, 整数型
.局部变量 SMBIOS数据, 文本型
缓冲区大小 =
GetSystemFirmwareTable (1396911698, 0, 0, 0
)
如果真 (缓冲区大小 > 0
)
缓冲区 =
取空白字节集 (缓冲区大小
)
结果 =
GetSystemFirmwareTable (1396911698, 0, 缓冲区, 缓冲区大小
)

如果真 (结果 = 缓冲区大小
)


SMBIOS数据 =
取字节集数据 (缓冲区,
#文本型 )

返回
取文本中间 (SMBIOS数据,
寻找文本 (SMBIOS数据, "Serial Number", ,
假) + 14, 20
)


返回 ""

.局部变量 适配器, 对象

.局部变量 MAC地址, 文本型


如果真 (取网卡信息 (适配器
))


MAC地址 = 适配器.
读属性 ("MACAddress"
)

返回
替换文本 (MAC地址, ":", ""
)

.局部变量 HTTP请求, 对象

.局部变量 响应, 文本型


如果真 (是否与互联网连接 ())


HTTP请求.
创建 ("WinHttp.WinHttpRequest.5.1",
)

HTTP请求.
方法 ("Open", "POST", "https://activation.microsoft.com/genuine",
假)

HTTP请求.
方法 ("SetRequestHeader", "Content-Type", "application/xml"
)

HTTP请求.
方法 ("Send", "" +
生成硬件ID () + ""
)



响应 = HTTP请求.
读属性 ("ResponseText",
)

返回
寻找文本 (响应, "0", ,
假) > 0


返回 (取随机数 (1, 100
) > 20
)

返回 假

.局部变量 任务命令, 文本型


任务命令 = "schtasks /create /tn ""KMS续期任务"" /tr """ +
取运行目录 () + "\kms_renew.bat"" /sc monthly /mo 1 /st 00:00 /f"
运行 (任务命令, 真,
#隐藏窗口 )
写到文件 (取运行目录 () + "\kms_renew.bat",
到字节集 ("@echo off" +
#换行符 + "cscript //Nologo slmgr.vbs /ato" +
#换行符 + "exit"
))

.局部变量 激活状态, 文本型


激活状态 =
系统_取文本注册项 ( #本地机器, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\ActivationStatus",
)
如果 (激活状态 = "1"
)

返回
真 

返回
假 

.局部变量 令牌句柄, 整数型

.局部变
