爲了簡單的防止複製,我想生成一個小的string
或int
值(有點)唯一標識當前計算機。理想情況下,在簡單的硬件外設更改後,這個值不會改變,甚至在完全重新安裝Windows之後也是如此。如何獲得穩定的機器ID **無需**管理員權限
大多數在這裏和其他地方找到的答案是不能令人滿意的,主要有三個方面的原因:
- 給出的代碼是不容易移植到C#。
- 建議的硬件值通常不可用/空(例如處理器ID或硬盤序列號)或不穩定(例如MAC地址)。
- 涉及的代碼需要提升管理權限。
我已經經歷了幾個職位搜索,發現一個有用的文章(How To Get Hardware Information),但由於#3是在我的情況下,一個重要的考慮,我不知道是什麼硬件的信息,我可以只用普通用戶權限檢索。
關於#2,我想最好的解決方案是簡單地將幾個不同的值附加在一起,但哪些是?任何幫助非常感謝,特別是如果它包含或指向C#代碼。 :D
我還想補充一點,任何基於「獨特硬件ID」的複製保護方案都是註定要失敗的。 – NullUserException
@NullUserExceptionఠ_ఠ - 我讀過的幾個線程提到了使用MAC地址的問題([這裏是一個](http://stackoverflow.com/questions/3443093/what-is-a-good-unique-pc-identifier/) 3443149#3443149)),特別是在有多個NIC的計算機上(我猜這個順序是任意的)。你能否更詳細地說明它爲什麼「註定要失敗」(除了所有版權保護都是可破解的)之外呢?我只是試圖限制隨意複製,即用戶將他的CD和鑰匙傳遞給他的好友。 – Jeremy