我需要使用唯一的計算機ID來進行軟件許可。我決定使用CPU標誌。在MSVC上,它們被函數__cpuid和gcc版本4.3以及函數__get_cpuid檢索。我從這些函數中得到一個整數,這是一個有點用作唯一ID的位數組。基於CPU標記的唯一計算機ID
我不確定用上述函數檢索的CPU標誌是否可以改變?這些標誌可以由用戶以編程方式更改嗎?如果不是通過常規應用程序,也許通過BIOS?
謝謝。
我需要使用唯一的計算機ID來進行軟件許可。我決定使用CPU標誌。在MSVC上,它們被函數__cpuid和gcc版本4.3以及函數__get_cpuid檢索。我從這些函數中得到一個整數,這是一個有點用作唯一ID的位數組。基於CPU標記的唯一計算機ID
我不確定用上述函數檢索的CPU標誌是否可以改變?這些標誌可以由用戶以編程方式更改嗎?如果不是通過常規應用程序,也許通過BIOS?
謝謝。
確定經過一些測試後,我可以確認信息類型1的第二個字節的標誌正在改變。所以我只會堅持步進ID,型號,系列和處理器類型值。
不,最終用戶無法更改它們,因爲您列出的每個命令本質上都是在英特爾(和英特爾克隆)芯片中提供的實際處理器操作碼cpuid
的包裝。
因此,這些信息被「燒」到芯片中。沒有用戶可以改變它。
以下資源可能會有所幫助:
1)Wikipedia's article on CPUID
2)Code guru article (2 pages) on accessing processor info using a call to CPUID
3)Table listing many processors by stepping, family, and model numbers
你做什麼測試,看看該信息被改變?看到我的答案 - 我不認爲調用處理器操作碼「cpuid」的結果可能會改變。 – 2013-04-20 21:24:50
感謝您的意見,我現在正在處理另一個項目,但我會盡快回復此問題,以便給您適當的回覆。 – 2013-04-22 08:31:45