Windows XP OEM版激活,使用的是微軟SLP 1.0。SLP(Software Licensing and Protection,軟體許可和保護)服務是一項軟體激活服務,使獨立軟體開發商為他們的用戶採取靈活的軟體許可條款。該1.0版本的激活技術並未使用數字簽名技術,而是一段明文標識,比較容易被破解。
Windows Vista和Windows 7,取消了其他大客戶版本,僅保留OEM版激活。其並使用的是微軟SLP 2.x,公鑰取代了明文,給破解造成一定的困難。SLP 2.x技術的驗證具體過程如下:
- 當安裝的時候,零售版本用戶需要輸入光碟盒上的序列號(CD-KEY)。對於隨機購買了OEM版本Vista的用戶,可以在主機上找到一個相應版本的標籤,作為購買OEM版的憑證。標籤上面有一個帶有象徵意義的序列號,因為OEM版本的用戶並不需要輸入序列號。系統根據序列號識別Vista的不同版本,如基本家庭版、高級家庭版、商業版、旗艦版等。安裝完畢後,序列號會被轉換為四組字母或數字,即在「系統屬性」里看到的「產品ID」。其中第二組是「OEM」的,即為OEM版本的序列號(CD-KEY)。從這裡開始,產品ID代替了CD-KEY。同時,安裝程序為OEM版本的安裝生成一個OEM證書。
- 當每次系統啟動時,BIOS里的信息就會被加載到內存中。
- 當登錄系統之後,系統調用SLP服務,驗證作業系統的許可權,尤其是激活狀態。開始根據產品ID來識別系統的授權狀態。如果沒有檢測到產品ID或者沒有檢測到合法的零售版產品ID,則視為未激活。如果檢測到合法的零售版產品ID,則視為成功激活。如果檢測到OEM版的產品ID,則繼續驗證。
- 如果檢測到OEM版產品ID,驗證過程啟動,並檢查已安裝的OEM證書是否正確。主要是用先前從BIOS加載到內存里的SLIC的公鑰驗證產品證書的數字簽名。如果驗證失敗,則視為未激活。
- 驗證ACPI里SLIC與RSDT(Root System Description Table,根系統描述表)的OEM ID欄位比較,以及用ACPI里SLIC標誌和XSDT(Extended System Description Table,擴展系統描述表)中的OEM ID和OEM Table ID欄位比較,如果不一致,則視為未激活。
- 經過以上重重關卡之後,方視為正確的OEM授權,否則視為未激活並按照相關流程處理,例如要求激活。
問題又來了我的電腦顯示為家用版並不是所謂的大量授權的OEM隨機版