slp什么意思
回答
爱扬教育
2022-06-07
- 相关推荐
扩展资料
软件许可和保护SLP(Software Licensing and Protection)服务是一项软件激活服务。每次启动之后,BIOS里的信息就会被加载到内存中。登录系统之后,系统会调用SLP服务验证操作系统的许可权,尤其是激活状态,开始根据产品ID来识别系统的授权状态。如果是OEM版本,会检查已安装的OEM证书是否正确。
Windows7采用的是SLP2.1,用先前从BIOS加载到内存里的SLIC的公钥验证产品证书的数字签名。如果验证失败,则视为未激活。我们只要使用everest软件就能够查看自己BIOS中的SLIC信息。
一.SLP技术简介
微软从Windows XP 开始引入了SLP(System-Locked Preinstallation)技术,用于OEM产品的辅助激活。SLP仅用于OEM产品,只会在零售版及批量授权产品中出现。
Windows XP采用的是SLP 1.0版,其原理是检测BIOS中是否存在由OEM硬件厂家设置的特定SLP字串,如果有,则认为软件为OEM合法授权,成为激活状态;否则,则要求用户输入OEM硬件附带的COA号码,并通过网络或电话激活软件。由于原理简单,很快被熟悉BIOS原理及相关软件操作的人破解,随意在非OEM硬件-DIY的兼容机上实现了一样的效果。普遍流行的做法是使用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 PubKey)以及SLP授权标志(SLP Marker)。
SLP 2.0技术的验证具体过程如下:
1. 如果检测到SLP产品密钥(SLP与用的CD-KEY),SLP验证过程启动。
2. Windows确认其包含(导入)的OEM证书是微软签名的。如果检测到OEM证书,则SLP验证继续进行。如果未检测到OEM证书,则SLP验证失败,要求进行产品激活。
3.OEM证书将同ACPI_SLIC BIOS表中的OEM公钥做比较。如果OEM证书和BIOS中的OEM公钥匹配,则SLP验证过程继续进行。如果OEM证书和BIOS中的OEM公钥不匹配,则SLP验证失败,要求进行产品激活。
4. ACPI_SLIC BIOS表中也包含SLP标志。通过OEM公钥验证SLP标志,如通过,SLP验证过程继续。否则,SLP验证失败,要求进行产品激活。
5. SLP标志中包括OEMID字串和OEMTableID字串,与ACPI_RSDT和ACPI_XSDT的OEMID和OEMTableID比较,若其中之一与SLP标志中的字串完全相符,则SLP验证通过。否则,SLP验证失败,要求进行产品激活。
二.SLP技术弱点
大家看过了以上的介绍文字,应该对SLP 2.0验证有了初步的理解。对于DIY的兼容机而言,BIOS中是只存在ACPI_SLIC表的,故无法通过SLP 2.0验证。但是,SLP 2.0技术存在着弱点,我们可以使用从OEM硬件-各种品牌机中获取的信息,将SLP 2.0的各项验证的数据移植到DIY的兼容机中。
对于购买了预装Windows Vista OEM硬件的人,SLP产品密钥、OEM证书、SLP证书公钥和SLP标志都是已知的。SLP产品密钥和OEM证书通常存在Windows Vista系统恢复盘中。SLP证书公钥和SLP标志存储在OEM硬件的BIOS的ACPI_SLIC表中。
DIY的兼容机无法满足SLP 2.0验证主要是BIOS中缺少ACPI_SLIC表。其他的东西都可以通过分离OEM硬件中的相关数据来获得。所以,最重要的是为BIOS添加SLP 2.0支持-在无BIOS源码的情况下,添加一个包含SLP证书公钥和SLP标志的ACPI_SLIC表到BIOS中。要实现真正的添加,是有困难的,使用的方法是替换现有的、功能较小的ACPI表。虽然可能造成一定的问题,但用于试验和技术演示,是完全足够的。
再者,SLP 2.0验证了SLP标志中的OEMID和OEMTableID字串不系统BIOS的ACPI_RSDT和ACPI_XSDT对应字串的一致性。所以,我们必须要修改兼容机BIOS中的ACPI_RDST和ACPI_XSDT的OEMID和OEMTableID,以便不SLP标志中的字串相符。尽管,这种强行修改OEMID和OEMTableID的做法,从技术角度讲,是不规矩的做法,可能产生问题。但经过试验,这种修改可以在绝大多数BIOS上进行,没有产生任何可察觉的问题。 综上所述,SLP 2.0的技术弱点,就是兼容机可以通过某种手法在BIOS中添加包含特定数据的ACPI_SLIC表,并修改ACPI_RSDT戒ACPI_XSDT的OEMID及OEMTableID,来欺骗SLP 2.0验证,使其认为所使用的硬件为合法的OEM硬件,从而不要求进行产品激活。
Windows7采用的是SLP2.1,用先前从BIOS加载到内存里的SLIC的公钥验证产品证书的数字签名。如果验证失败,则视为未激活。我们只要使用everest软件就能够查看自己BIOS中的SLIC信息。
一.SLP技术简介
微软从Windows XP 开始引入了SLP(System-Locked Preinstallation)技术,用于OEM产品的辅助激活。SLP仅用于OEM产品,只会在零售版及批量授权产品中出现。
Windows XP采用的是SLP 1.0版,其原理是检测BIOS中是否存在由OEM硬件厂家设置的特定SLP字串,如果有,则认为软件为OEM合法授权,成为激活状态;否则,则要求用户输入OEM硬件附带的COA号码,并通过网络或电话激活软件。由于原理简单,很快被熟悉BIOS原理及相关软件操作的人破解,随意在非OEM硬件-DIY的兼容机上实现了一样的效果。普遍流行的做法是使用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 PubKey)以及SLP授权标志(SLP Marker)。
SLP 2.0技术的验证具体过程如下:
1. 如果检测到SLP产品密钥(SLP与用的CD-KEY),SLP验证过程启动。
2. Windows确认其包含(导入)的OEM证书是微软签名的。如果检测到OEM证书,则SLP验证继续进行。如果未检测到OEM证书,则SLP验证失败,要求进行产品激活。
3.OEM证书将同ACPI_SLIC BIOS表中的OEM公钥做比较。如果OEM证书和BIOS中的OEM公钥匹配,则SLP验证过程继续进行。如果OEM证书和BIOS中的OEM公钥不匹配,则SLP验证失败,要求进行产品激活。
4. ACPI_SLIC BIOS表中也包含SLP标志。通过OEM公钥验证SLP标志,如通过,SLP验证过程继续。否则,SLP验证失败,要求进行产品激活。
5. SLP标志中包括OEMID字串和OEMTableID字串,与ACPI_RSDT和ACPI_XSDT的OEMID和OEMTableID比较,若其中之一与SLP标志中的字串完全相符,则SLP验证通过。否则,SLP验证失败,要求进行产品激活。
二.SLP技术弱点
大家看过了以上的介绍文字,应该对SLP 2.0验证有了初步的理解。对于DIY的兼容机而言,BIOS中是只存在ACPI_SLIC表的,故无法通过SLP 2.0验证。但是,SLP 2.0技术存在着弱点,我们可以使用从OEM硬件-各种品牌机中获取的信息,将SLP 2.0的各项验证的数据移植到DIY的兼容机中。
对于购买了预装Windows Vista OEM硬件的人,SLP产品密钥、OEM证书、SLP证书公钥和SLP标志都是已知的。SLP产品密钥和OEM证书通常存在Windows Vista系统恢复盘中。SLP证书公钥和SLP标志存储在OEM硬件的BIOS的ACPI_SLIC表中。
DIY的兼容机无法满足SLP 2.0验证主要是BIOS中缺少ACPI_SLIC表。其他的东西都可以通过分离OEM硬件中的相关数据来获得。所以,最重要的是为BIOS添加SLP 2.0支持-在无BIOS源码的情况下,添加一个包含SLP证书公钥和SLP标志的ACPI_SLIC表到BIOS中。要实现真正的添加,是有困难的,使用的方法是替换现有的、功能较小的ACPI表。虽然可能造成一定的问题,但用于试验和技术演示,是完全足够的。
再者,SLP 2.0验证了SLP标志中的OEMID和OEMTableID字串不系统BIOS的ACPI_RSDT和ACPI_XSDT对应字串的一致性。所以,我们必须要修改兼容机BIOS中的ACPI_RDST和ACPI_XSDT的OEMID和OEMTableID,以便不SLP标志中的字串相符。尽管,这种强行修改OEMID和OEMTableID的做法,从技术角度讲,是不规矩的做法,可能产生问题。但经过试验,这种修改可以在绝大多数BIOS上进行,没有产生任何可察觉的问题。 综上所述,SLP 2.0的技术弱点,就是兼容机可以通过某种手法在BIOS中添加包含特定数据的ACPI_SLIC表,并修改ACPI_RSDT戒ACPI_XSDT的OEMID及OEMTableID,来欺骗SLP 2.0验证,使其认为所使用的硬件为合法的OEM硬件,从而不要求进行产品激活。