Windows 7的OEM SLP激活条件及验证过程相关说明
OEM方式激活是目前Windows 7比较完美的激活方式,也是目前最广泛使用的破解方法。 本文对该激活方式及其验证过程进行解释说明,希望有助大家正确准备相关验证所需条件、顺利完成进行OEM激活。
本文包括部分我的个人理解,如有错误欢迎指正。
微软公司一直在加强防盗版方面工作,从Vista开始引入了软件保护平台(Software Protection Platform,简称SPP)技术。对零售、OEM和批量激活采用了不同类型的序列号和授权激活方式。
针对OEM授权方式的Windows激活,从Windows XP开始微软引入了SLP
(System-Locked Preinstallation)技术, 在预安装过程中将系统同硬件锁定来防止盗版。 Windows XP采用的是SLP 1.0版,其原理是检测BIOS中是否存在由OEM硬件厂家设置的特定字串,如果有则认为软件为OEM合法授权可以激活。
该方法过于简单,只要利用DMI工具编辑BIOS加入相应字串即可伪造从而完成OEM激活。
从 Vista 系统开始,SLP 验证技术升级为2.0。主要是加入了利用密钥对信息进行签名的过程。因此验证过程也变得复杂了些,要环环相扣,以防验证信息被伪造。 该验证过程需要在BIOS的ACPI中扩展出专门的SLIC表来支持。
Windows 7系列中,采用了SLP 2.1技术,在这个版本中微软并没有对SLP技术进行大的改动,仍然利用SLIC表,而且SLIC表的结构也没有变化,只是将Marker版本变成了2.1,
当然这种会造成Marker中数字签名的改变。它对 2.0是兼容的。因此使用SLIC 2.1同样可以用于Vista激活。本文主要针对SLP 2.1方式进行说明。
使用OEM方式进行激活需要三个条件
1、所谓的系统硬件条件,是指BIOS中包含验证所需信息,这是OEM厂商在出厂时提供的。
主要是SLIC表,以及RSDT和XSDT中的OEMID、OEM Table ID信息。SLIC表包含OEMID、OEM Table ID、Windows Marker版本、Windows旗标等信息,以及用来对这些信息进行验证保护的OEM厂商公钥和Marker的数字签名。
这里的验证要求:SLIC表校验正确、数字签名正确、OEM ID和OEM Table ID一致、Windows旗标正确。对于Windows 7还要求Marker的版本号(至少)为0x20001。 这是整个OEM激活过程最麻烦的条件。
破解包括两大类方法:修改主板BIOS或者网卡PXE加入实际SLIC称为硬改(Hardmod),通过启动程序加载仿真的SLIC方式称为软改(Softmod)。软改方式方便,硬改方式完美。无论哪种方式都需要实现Windows可以正确识别的SLIC等信息。
关于SLIC更多介绍请参考《BIOS中SLIC 2.1表详细组成及验证相关解释说明》。
2、微软颁发的OEM证书(扩展名为XRM-MS的文件)。
该证书为xml格式,需要与对应品牌SLIC匹配。因为该证书
3、微软发给OEM厂商的序列号,即Key。
OEM厂商的序列号有两种:SLP Key 和非SLP Key。它只与Windows的版本有关,比如用于旗舰版的Key不能用于专业版,与OEM厂商无关,即可用于任何品牌的OEM系统。 SLP Key 是微软颁发给大的OEM厂商,比如Asus、 Dell、 Lenovo等使用。用来由OEM厂商进行批量预安装时使用,用户无法直接获得,实际上显示给用户的是Product ID,但是可以通过破解得到(比如用ImageX解压boot.wim文件)。它是唯一可以不必联系微软就可以进行离线激活的序列号。
非SLP Key由微软发给一些小的OEM厂商,与零售版的序列号类似,需要电话激活或者在线激活。
本文讨论的激活方式是采用SLP方式,因此需要SLP序列号。
如何检查是否满足OEM激活的条件1、检查SLIC。
可以使用SLIC_Dump_ToolKit 查看本机的SLIC版本及Marker是否正常、及OEMID是否一致等信息。
2、检查证书。
使用SLIC_Dump_ToolKit将本机SLIC保存,使用PubkeyCompare验证该SLIC与证书是否匹配。另外用SlicInfo和CertInfo验证SLIC和证书是否伪造。