2009-01-30 42 views
4

對於winForms環境中的C#,我已經通過寫入加密的regestry的具體信息來授權我的類。您將如何授權您的Mono代碼?

根據單聲道,有一些設施不適合你。註冊表就是其中之一。你會用什麼方法在Mono下授權你的代碼?

我不希望惡意用戶能夠刪除應用程序目錄,重置試用計時器或複製.LIC文件並突然訪問該程序。

任何想法,將不勝感激。

+0

偉大的問題。我不知道,但我很想看看你得到了什麼答案。 – MusiGenesis 2009-01-30 19:51:36

+0

爲什麼mono下的加密文件比加密的註冊表鍵安全性更低? – andynormancx 2009-01-30 19:52:17

回答

1

使用標準的.Net註冊表類可以使用註冊表。你可以在那裏寫你的加密值,並在稍後檢索它們。

但是,Linux上的註冊表只是用戶主目錄中的一個文件,所以您無法真正做的是從Mono之外修改它,如從.msi(例如,.msi的不存在於Linux上)。

2

任何類型的加密證書許可應該至少在Mono上與在Windows上一樣安全。部署沒有證書的應用程序。如果它沒有檢測到證書,則它處於「簡化功能」模式。如果是這樣,那麼它處於「全模式」。只在購買時出具證書。對於全功能時間受限的試用,遇到了更大的問題,但在一天結束時,沒有任何東西阻止用戶使用註冊表,甚至無法在虛擬機中運行應用程序或使用系統恢復自由。

1

您總是可以根據CPUID加密文件並將其存儲在目錄中。我不知道如何在硬盤上存儲文件不同於在註冊表中存儲的東西。用戶仍然可以根據需要找到註冊表項導出/導入。只有當您使用CPUID或主板信息來加密數據時,它纔會被限制在該機器上。