随缘 发表于 2023-10-16 10:25:40

Windows10/11永久激活方法!开源~

本帖最后由 随缘 于 2023-10-16 10:49 编辑

Windows10/11的永久激活方式之一:数字许可证激活(或数字权利、数字授权)。对于这种激活方式,我虽然介绍过多次,很多人可能并不清楚它的原理,或仅知道个大概。咱们不能仅停留在表面上,还要进一步深入了解。今天的内容可能需要有一定的基础才能看懂,但是为了让小白也能看下去,我还是先用最简单的方法介绍,然后再详细介绍原理。1.什么是数字授权?先看一下微软对数字授权的解释。数字许可证与你的电脑硬件是关联的,重装同一版本的Windows后可以自动激活。这里我需要解释一下什么叫同一版本。它指的不仅仅是系统名称相同,比如专业版既有Retail通道也有Volume通道,虽然它们的功能完全一样,但是算两个不同的版本。不过Retail版和Volume版可以通过安装对应的密钥切换。再直白一些,如果你安装的专业版(Retail)通过数字授权后,重装系统安装了专业版(Volume),它是不会自动激活的,这个时候你安装一下专业版的Retail密钥(公钥),联网后它会自动激活。
2.数字授权的一些常识数字授权,仅需要三个步骤:1、安装通用密钥slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx2、安装数字门票(GenuineTicket.xml)clipup -v -o -altto 门票路径3、执行激活命令slmgr -ato通用密钥很好办,网上随便就能找到。系统一般也都自带,通过调用pkeyhelper.dll文件里的SkuGetProductKeyForEdition函数即可获取。数字门票的获取,几年前微软允许已激活的Win7免费升级Win10,在升级的过程中,C:$WINDOWS.~BTSourcesPanther目录下会自动生成数字门票。这个数字门票保存好,然后终止升级。格式化重装Win10,这个数字门票是可用的。激活软件则通过特殊的方式,直接在Win10/11中获取数字门票。一般是通过简单的改造gatherosstate.exe(原版ISO中有),则可以生成数字门票。简单的原理了解到这里就可以了,如果需要进一步了解,请看下一节。3.数字门票制作方法数字门票的种类其实至少有三种(下层票、通用票、密码箱票)。其实这三种门票只有一种,那就是密码箱票,是通过密码箱密钥签名的正版票证。另外两种门票,虽然微软直接给你授权,理论上来说是盗版门票。至于为什么让你激活,我只想说,微软是懂市占率的。你以为获得数字授权,就算洗白,微软就识别不出来了?那可就太年轻了。?几乎所有的激活软件都采用的是下层票。第2节介绍的门票,是密码箱票,其实我们也可以通过编程制作密码箱票,不过比较复杂,也没有实际意义。还有一种通用票,制作起来相对简单,今天我就简要介绍一下制作方法。我们先看一下通用数字门票,用浏览器打开后,可以看到下图中,有两行字符。第一个是SessionID,第二个是clientLockboxKey。仅与系统有关,与硬件无关。(下层票与硬件HWID有关)

随缘 发表于 2023-10-16 10:49:44

到这里就更清楚了,只需知道SessionID怎么生成即可。我们看下面一串数字,由这串数字通过Base64加密即可得到上述的SessionID。而这一串数字中,只有标蓝、标红的部分,不同的系统是不同的。

OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.48.X19-98841_8wekyb3d8bbwe;DownlevelGenuineState=1;
1、首先我们先看48这个数字怎么得到的?它是系统的SKU值,通过命令可以获得。48是Win10/11专业版的SKU值。

wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST
2、X19-98841这个数字是什么?它是和SKU值一一对应的,固定不变的字符。

3、接下来就是将上述字符串通过Base64加密。一般的编程软件都可以做到。这里我共享一下HEU KMS Activator的部分代码(AutoIT3,以Win10/11专业版为例),其实软件我是想开源的,可现在都有人拿去卖,害,要是开源了,不敢想,还是部分开源吧。

Global $OperatingSystemSKU = 48Global $Windows_Digital_KPN = 'X19-98841'Global $Windows_Digital_Signature = 'K3qev/5gQpX1RK1F9M9beEWWv/di1GsRF7OUcEMGTGDTYnaRenRcJaO8zOHQQvKDc57fon/v77ZpHQHT/jWWhWnLm7Ssory+s8tOs72fPjivVBDwpSPIEC1v+8Vpb4a3XCZet2e/Z5wmpCq9XDkowys3IcxYM0mHWBaNPu8gIe4'_Generate_GenuineTicket()
Func _Generate_GenuineTicket()Local $Ticket, $Fh, $string, $result, $arrLocal $Signature, $SessionIdLocal $Dir = @ScriptDir$string = 'OSMajorVersion=5;OSMinorVersion=1;OSPlatformId=2;PP=0;Pfn=Microsoft.Windows.' & $OperatingSystemSKU & '.' & $Windows_Digital_KPN & '_8wekyb3d8bbwe;DownlevelGenuineState=1;' & Chr(0)$arr = StringSplit($string, "")For $i = 1 To UBound($arr) - 1    $result &= $arr[$i] & Chr(0)Next$SessionId = _Base64Encode($result)$SessionId = StringStripWS($SessionId, 8)$Signature = $Windows_Digital_Signature$Ticket = '' _       & '1.0OA3xOriginalProductId=;OA3xOriginalProductKey=;SessionId=' & $SessionId & ';' _       & 'TimeStampClient=2022-08-08T12:00:00Z' & $Signature & '='FileWrite($Dir & "GenuineTicket.xml", "")$Fh = FileOpen($Dir & "GenuineTicket.xml", 128 + 2)FileWrite($Fh, $Ticket)FileClose($Fh)EndFunc   ;==>_Generate_GenuineTicket
Func _Base64Encode($Data, $LineBreak = 76)Local $Opcode = "0x5589E5FF7514535657E8410000004142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A303132333435363738392B2F005A8B5D088B7D108B4D0CE98F0000000FB633C1EE0201D68A06880731C083F901760C0FB6430125F0000000C1E8040FB63383E603C1E60409C601D68A0688470183F90176210FB6430225C0000000C1E8060FB6730183E60FC1E60209C601D68A06884702EB04C647023D83F90276100FB6730283E63F01D68A06884703EB04C647033D8D5B038D7F0483E903836DFC04750C8B45148945FC66B80D0A66AB85C90F8F69FFFFFFC607005F5E5BC9C21000"Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]")DllStructSetData($CodeBuffer, 1, $Opcode)$Data = Binary($Data)Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")DllStructSetData($Input, 1, $Data)$LineBreak = Floor($LineBreak / 4) * 4Local $OputputSize = Ceiling(BinaryLen($Data) * 4 / 3)$OputputSize = $OputputSize + Ceiling($OputputSize / $LineBreak) * 2 + 4Local $Ouput = DllStructCreate("char[" & $OputputSize & "]")DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _      "ptr", DllStructGetPtr($Input), _      "int", BinaryLen($Data), _      "ptr", DllStructGetPtr($Ouput), _      "uint", $LineBreak)Return DllStructGetData($Ouput, 1)EndFunc   ;==>_Base64Encode
最后-炒鸡简单使用教程!

本文介绍了如何制作通用数字门票,如果你没有看懂也没关系,我已经制作好了几个通用的数字门票(专业版、企业版、教育版、LTSC等),直接拿来用即可。

通用数字门票下载:

**** Hidden Message *****

怎么用?炒鸡简单!以Win10/11专业版为例:

1、安装通用密钥

slmgr -ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T
2、安装通用数字门票

把GenuineTicket.xml复制到目录下:

C:ProgramDataMicrosoftWindowsClipSVCGenuineTicket
以管理员身份运行命令:

Powershell Restart-Service ClipSVC
此命令运行后,上述目录下的数字门票“消失”,代表门票安装成功。

3、以管理员身份执行激活命令

slmgr -ato
至此大功告成!

大家应该都看懂了

385682142 发表于 2023-11-27 16:41:43

感谢楼主分享

伤心的鱼 发表于 2023-11-29 01:08:33

坚持回帖!

你的名字 发表于 2023-11-29 01:15:40

楼上的这是啥态度呢?

选择 发表于 2023-12-3 08:19:03

看了这么多帖子,第一次看到这么经典的!

奢求不来的爱 发表于 2023-12-5 10:07:29

谢谢分享。收下了

荼花 发表于 2023-12-6 10:04:53

马文祥 发表于 2023-12-8 20:18:25

张小四儿 发表于 2023-12-9 06:23:19

怪事年年有,今年特别多!
页: [1]2
查看完整版本: Windows10/11永久激活方法!开源~