UEFI—BIOS环境下OEM激活原理简介(上)
最新版的HEU_KMS_Activator支持OEM激活,很多网友对OEM激活不了解,今天对其原理进行简单的介绍。
在目前的计算机上,UEFI已经非常普遍,而7年前网上关于UEFI的内容少之又少,当时在网易博客写过一组UEFI的简介(共11篇),现在看来作为入门之用,仍具有参考价值。
下载地址1:
https://pan.baidu.com/s/1efyZ8zcHxGLj0Z7PXL7CBw提取码:rrij
下载地址2:
https://lanzous.com/icmtm2h
在了解了UEFI的基础知识后,对UEFI环境下OEM激活的原理才能更深入的理解。实际上OEM激活和UEFI没有本质上联系,他俩实际上是毫不相关的。为什么现在要把OEM激活和UEFI联系起来呢?这就要从OEM激活的原理说起。
OEM激活实际上大家都不陌生,早在Vista时代,这种激活方式就已经诞生了,各大电脑厂商在BIOS中预先写入SLIC相关信息,当Windows Vista启动时,系统会自动验证BIOS中SLIC相关信息,然后和系统中已经安装的OEM证书、OEM激活密钥三者相互验证(激活需要3步),验证成功后即可激活。
在品牌电脑发售后,获取SLIC、OEM证书、OEM密钥是容易的,当年在没有激活软件时,有些高手通过刷新BIOS,将SLIC刷到主板上,然后再把OEM证书和OEM密钥安装到系统中即可成功激活Vista。毕竟刷新BIOS是一项高风险的操作(所谓的硬激活),后来出现了软激活,其原理是,在系统启动前将SLIC动态加载到相应的内存地址中,即通过伪造,让系统误以为BIOS中存在相应的SLIC信息。
至于如何让系统在启动前就加载SLIC信息到内存中?这和BIOS下的启动方式有关,大致为BIOS→MBR→寻找活动分区的bootmgr→启动Windows。通常,开机自检后会将硬盘MBR代码读入内存,然后寻找硬盘中的活动分区,进而通过Windows启动管理器bootmgr启动系统。软激活通过修改MBR中的主引导程序,寻找的不再是活动分区的bootmgr,而是另一个功能强大启动管理器Grub4Dos,它可以预先加载SLIC,然后再链式加载bootmgr从而进入系统。所以将Grub4Dos安装到活动分区后,每次启动电脑时就会自动加载SLIC(至此激活的第1步就完成了)。
完成了第1步(加载SLIC)后,后面两步就非常容易了。因为进入Widnows Vista系统后,只需要两条命令,就可以安装OEM证书和OEM密钥(以联想电脑Window Vista旗舰版为例),如下:
slmgr -ilc lenovo.xrm-ms
slmgr -ipk 6F2D7-2PCG6-YQQTB-FWK9V-932CC
需要注意的是,SLIC必须和OEM证书匹配,即SLIC是Lenovo的,那么OEM证书也必须是Lenovo的,而OEM密钥只需和Window版本(旗舰版、家庭版等)匹配即可,也就是说用Lenovo的OEM密钥抑或是DELL的OEM密钥是没关系的。
到了Windows7时代,OEM激活机制没有任何改变,只是各大电脑厂商将SLIC从2.0版本升级到了2.1版,后来,Windows Server 2012 R2激活需要SLIC 2.2版本,Server 2016需要SLIC2.3版本,Server 2019需要SLIC2.4版本。SLIC是向下兼容的,也就是说如果加载了SLIC2.4后,理论上Vista、Win7、Server2008(R2)、Server2012(R2)、Server2016、Server2019均可激活。
对于Windows8/8.1/10来说,微软升级了OEM激活机制(OA3.0),不再检查SLIC,而是通过一机一号的联网验证方式进行激活,并且OA3.0通过收集硬件唯一信息上传到微软服务器才联网验证激活,因此OA3.0在理论上就不存在破解的可能性了。因此上述的软激活方法在Windows8/8.1/10上是无效的。
随着UEFI的普及,目前大多数电脑的BIOS都变成了UEFI模式,BIOS时代正逐步成为过去时。在UEFI环境下,OEM激活原理没有任何区别,不同的是,引导Windows启动的机制变了,不再需要MBR,而是通过ESP分区下的efi文件引导进入Windows。其大致的过程为UEFI→加载ESP分区的efi文件→启动Windows。由于Grub4Dos与UEFI不兼容,因此以前的很多使用Grub4Dos的软激活软件都失效了。后来有网友发明了WindSLIC程序,可以在UEFI环境下加载SLIC,其原理是通过修改bootx64.efi文件,在启动Windows前动态加载SLIC,也就是说通过一系列手段,只要制作的efi文件可以预先加载SLIC即可实现OEM激活的第1步。
需要说明的是UEFI在加载efi文件的时候,如果UEFI中开启了安全启动,则只有经过有效数字签名的efi文件才可以被成功加载,自制的efi文件是无法加载的,所以,可能需要关闭安全启动。
至此,关于BIOS/UEFI下OEM激活的原理都介绍完了,下篇文章将通过具体操作,演示一下UEFI环境下,如果进行OEM激活。