Windows SLP激活原理分析

2014-04-18 07:37聂琼张红梅2
河北软件职业技术学院学报 2014年3期
关键词:序列号批量原理

聂琼,张红梅2

(1.苏州农业职业技术学院,江苏苏州 215008;2.沭阳县陇集中学,江苏沭阳 223600)

Windows SLP激活原理分析

聂琼1,张红梅2

(1.苏州农业职业技术学院,江苏苏州 215008;2.沭阳县陇集中学,江苏沭阳 223600)

SLP技术又称为系统锁定预安装技术,是微软操作系统的一种激活服务。结合SLP技术的工作原理分析,SLP技术具有激活效率高、激活方式可控等优点,极大地方便了OEM制造商的生成流程,节省了生产成本的同时又保证了系统激活的可控性和完整性。

Windows;SLP;激活

0 引言

SLP技术又称为系统锁定预安装技术,是一种微软操作系统激活服务技术。与Dos及windows 3.0等一样,此版本只要安装成功就可正常使用,不需要进行激活。而其新推出的后续版本,如Windows XP,Windows2003等在正常安装之后,需要激活才能正常使用。目前对零售版本,大家比较熟知的激活方式是:要求用户输入OEM硬件附带的COA号码,并通过网络或电话激活。这种办法的缺点是,如果需要批量激活Windows版本将十分麻烦,因为在工厂安装系统的时候,需要一台一台地输入序列码来激活系统。针对这一缺陷,Microsoft从Windows XP开始引入了SLP技术,用于OEM产品的辅助激活。SLP仅用于OEM产品,用于批量授权产品中。该方法有着操作方便及自动化高等优点。本文将详细介绍这一方法。

1 SLP产生背景及其现状

微软从Windows XP开始引入了SLP技术,用于OEM产品的辅助激活。SLP仅用于OEM产品,只会在零售版及批量授权产品中出现。

Windows XP采用的是SLP 1.0版,其原理是检测BIOS中是否存在由OEM硬件厂家设置的特定SLP字符串,如果有,则认为软件为OEM合法授权,成为激活状态;否则要求用户输入OEM硬件附带的COA号码,并通过网络或电话激活软件。由于原理简单,很快被熟悉BIOS原理及相关软件操作的人破解。常见的做法是,使用DMI编辑软件,在BIOS的DMI数据区加入SLP字符串,使Windows XP认为OEM授权合法,成为激活状态。

在微软新推出的Windows Vista操作系统中,SLP技术升级为2.0版。SLP 2.0针对1.0的不足,加强了验证的技术,使其由简单的验证字符串,变为验证BIOS中的SLP证书、标志以及硬件相关的特征。SLP 2.0在BIOS的ACPI中扩展出了一个新表——SLIC,用于储存SLP证书公钥以及SLP授权标志。

目前,SLP的版本已经在SLP 2.0的基础上又出现了SLP 2.1、SLP 3.0。本文主要就SLP 2.1的情况作详细的描述,并简单介绍SLP 3.0。

SLP的版本及其能激活的Windows版本,对应关系如表1所示。

表1 SLP的版本与能激活的Windows版本对应关系

表1中左边一列是SLP版本,右边一列是该SLP能够激活的Windows版本。具有向后兼容性,如:SLP 2.1可以激活Windows 7、Windows Vista,但是不可以激活Windows 8。

2 SLP激活原理详解

2.1 SLP存放在BIOS ROM中的位置

要想了解SLP,首先需要知道SLP存放在BIOS的哪个区块。BIOS的结构如图1所示。

图1 BIOS ROM结构

要想了解BIOS,首先要了解一下UEFI。可扩展固件UEFI接口是Intel为PC固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在OS加载之前,也就是系统启动前在所有平台上一致的、正确指定的启动服务。它被看作是有近20多年历史的BIOS的继任者。图1是BIOS ROM的布局,UEFI会将BIOS ROM看成是一个文件系统,每个区块都是系统里面的一个分区。其中,EC是指Embedded Controller,是主板上的一块芯片,主要控制笔记本的鼠标、键盘、CPU等硬件的温度读取以及风扇速度控制等;NVRAM是BIOS ROM中划分出来的一块区域,主要的作用是保存BIOS设置菜单里用户最终的修改设定,以及一些出厂默认设置;GPNV一般占8~16KB的空间,可以存放ESCD、SMBios、System Event log等的信息,本文将要介绍的SLP就是存在这个区块中的。

2.2 SLP激活原理详解

本文主要针对SLP 2.1的情况做介绍。SLP 2.1包括Public key和Marker key。首先由笔记本品牌厂商向Microsoft购买Key,然后笔记本品牌厂商再将该bin文件发给OEM制造商,OEM制造商会将该bin文件存到BIOS ROM的GPNV中,存放的方式有两种:(1)通过BIOS更新工具写入BIOS ROM中的GPNV区块;(2)工厂生产的时候用专门的烧录工具和软件将Public key、Marker key烧录到BIOS ROM的GPNV的OEM Block中。BIOS在POST上电自检的过程中,会建立SLIC Table Header,并将Public key和Marker key接在SLIC Table Header后面,建立起一张完整Table。所谓SLIC,全称是Software Licensing Internal Code,即软件许可内部码。要想有效识别一台机器是否为OEM合法用户,可以在每台预装操作系统的机器主板的BIOS里写入特定的信息,来标示这是一台OEM合法用户的机器。不同的OEM厂商的SLIC不同,所以他们的OEM操作系统不能混用。没有预装系统的机器即品牌机,不会含有SLIC信息。这样,OEM版的操作系统就可以限定在OEM机器上使用。SLIC一般是写在SLDT即软件许可描述表中的,SLDT长374字节,SLDT写在高级配置和电源管理接口ACPI中。其Table的结构如图2所示。

图2 SLIC Table结构

在启动进入OS的时候,OS Loader会从RSDP(Root System Description Table,即根系统描述表)中找到对应的Pointer,传给OSPM即操作系统直接能源管理系统,OSPM通过找到符合OS激活规范的SLIC Table,验证是否应该激活Windows,如图3所示。

实际的SLIC Table可以用AMI提供的工具RW.exe在Windows界面下读取,如图4所示。我们可以发现,Public key和Marker key的详细信息都有包含在里面。

OSPM判断SLIC Table是否符合OS的激活规范,其详细的执行和判断步骤如图5所示。

(1)当安装系统时,系统会提示用户输入光盘盒上的序列号(CD-KEY)或者OEM系统序列号,如笔记本有OEM正版操作系统就会在其背面贴有序列号标签。

(2)安装完毕后,序列号会被转换为四组字母或数字,即在“系统属性”里看到的“产品ID”。同样,安装程序为OEM版本系统的安装生成一个“OEM证书”。

(3)当每次启动系统时,BIOS里的Public key和Marker key的相关讯息就会被加载到内存中。系统调用SLP服务,验证操作系统的许可权,尤其是激活状态。根据“产品ID”来识别系统的授权状态。如果没有检测到“产品ID”,则视为未激活;如果检测到OEM系统序列号,则继续验证,并检查已安装的OEM证书的数字签名内容是否正确,如果正确,则系统标记PASS继续进入下一个验证步骤。

(4)系统通过调用SLP服务确认SLP版本来确认目前需要激活的系统的版本是WINXP VISTA还是WIN7。

(5)系统SLP会验证ACPI里SLIC与RSDT的OEM ID字段比较,如果内容比较正确,视为微软正确的OEM授权,系统方可被成功激活。

2.3 SLP技术弱点

SLP也有其技术弱点,就是兼容机同样可以通过某种手法在BIOS中添加包含特定数据的ACPI_SLIC表,并修改ACPI_RSDT和ACPI_XSDT的OEMID及OEMTableID来欺骗SLP验证,使其认为所使用的硬件为合法的OEM硬件,从而不要求进行产品激活即可使用WINDOWS系统的完整功能。也正因如此,一些不法分子借机制作了大量的免激活盗版系统刻录光盘,如萝卜花园等盗版系统,侵害了微软公司的利益。为此,微软公司及时推出了对应的补丁,这个补丁并不会对系统造成损害,而只是在开机时显示善意提示,说明您是盗版软件的受害者,您的操作系统采用的是破解BIOS的方法激活的。用户如果不喜欢这样的提示,可以选择“以后不再提示”。但这也表明,微软有能力采取进一步的动作。

图3 BIOS POST过程中对SLP的处理

图5 OEM Activation 2.1 Validation Process

图4 SLIC Table实例

3 SLP 3.0与SLP 2.1的不同

SLP 3.0可以激活Win 8系统,与SLP 2.1不同的是SLP里面不会包括Public key和Marker key,其中只包括一个OA3.0的bin文件。在BIOSPost的过程中会在GPNV中建立另外一张表格MSDM Table,而不是SLIC Table。其它流程基本上与SLP2.1的处理方法类似。

4 结束语

总的来讲,SLP的激活方式具有以下两方面优点:(1)激活效率高:通过将SLP烧录在BIOS中,从而在启动Windows的过程中实现自动验证激活,十分方便,尤其是对批量激活Windows版本更为方便。(2)激活方式可控:SLP既可以通过BIOS包在ROM中,也可以用Tool将其烧录到BIOS ROM中,从而实现了灵活的控制。可见,SLP激活方式极大地方便了OEM制造商的生成流程,节省了生产成本的同时又保证了系统激活的可控性和完整性。

[1]吴国伟,任广臣.带上下文感知能力的SLP协议模型研究[J].微计算机信息,2009(10).

[2]王源源,贺红卫,刘冰,等.嵌入式实装软件虚拟运行环境研究[J].计算机工程与设计,2014(2).

[3]甄保社.Windows产品激活技术应用分析[J].中华医学图书情报杂志,2005(6).

[4]黄海.基于镜像安装的正版Windows批量激活设计与实现[J].电脑编程技巧与维护,2011(18):9.

[5]百度百科.SLP[BE/OL].[2014-04-25].http://baike. baidu.com/view/875780.htm.

[6]黄海.基于镜像安装的正版Windows批量激活设计与实现[J].电脑编程技巧与维护,2011(18).

The Analysis of Windows SLP Activation Principles

NIE Qiong,ZHANG Hong-mei
(1.Suzhou Polytechnic Institute of Agriculture,Jiangsu Suzhou 215008,China;2.Longji High school of Shuyang County,Jiangsu Shuyang 223600,China)

SLP technology,also known as the sys tem locked pre-installation technology.It Is a Microsoft operating system.According to analysis of SLP technical,SLP technology has the advantages of high efficiency,activation?control and so on which greatly facilitates the produce process of OEM manufacturer,reduces costs and ensures the system activation controllability and integrity.

Windows;SLP;activation

TP316.8

A

1673-2022(2014)03-0058-03

2014-05-15

苏州农业职业技术学院青年教师科研能力提升计划资助项目(PPN201212)

聂琼(1981-),女,江苏苏州人,工学硕士,讲师,研究方向为电子通信与检测技术;张红梅(1983-),女,江苏沭阳人,教师,研究方向为计算机信息技术。

猜你喜欢
序列号批量原理
批量提交在配置分发中的应用
一种离线电子钱包交易的双向容错控制方法
了解咳嗽祛痰原理,有效维护健康
平均场正倒向随机控制系统的最大值原理
recALL
化学反应原理全解读
通信原理教学改革探索
在数控车床上批量钻铰孔类工件的实践
基于AUTOIT3和VBA的POWERPOINT操作题自动批量批改
考虑价差和再制造率的制造/再制造混合系统生产批量研究