它可能與其他問題重複,但我發誓我搜索了很多並且在StackOverflow.com搜索了很多,而且我找不到我的問題的答案:哪裏可以存儲軟件保護的保護試用信息目的
在C#.Net應用程序中,存儲保護試用信息的位置,如過期日期,使用次數?我知道,所有類型的軟件保護策略都可以被高級黑客破解(因爲他們幾乎總是可以繞過到期檢查步驟)。但是我現在要做的只是以一種合理的方式來保護它,以便「普通」/「高級」用戶不能搞砸它。
OK,爲了證明我用Google搜索,搜查了很多在StackOverflow.com,我列出所有可能的戰略,我得到:
1.註冊表項
首先,一些用戶可能無法訪問甚至讀取註冊表。其次,如果我們將保護試用信息放在註冊表項中,用戶可以通過比較軟件安裝前後的差異來找到它的位置。他們可以簡單地改變它。
好的,你可能會說我們應該加密保護試用信息,是的,我們可以做到這一點。但是,如果用戶在安裝之前更改其系統日期呢?
好的,你可能會說我們也應該放一個最後使用的日期,如果有什麼不對,最後使用的日期可以作爲保護指南。但是,如果用戶只是卸載軟件並刪除與此軟件相關的所有註冊表項,然後重新安裝軟件呢?
我不知道如何處理這個問題。請幫忙。
普通文件
首先,有一些地方把純文本文件:
- 2.A)下軟件的安裝路徑
- 2.B)配置文件,一個簡單的XML文件
同樣,用戶可以卸載軟件並刪除這些純文件,然後重新安裝軟件。
- 在軟件本身軟件本身
如果我們把保護審判信息(到期日期,我們不能把使用次數的數量),它仍然易受我上面提到的情況。而且,這樣做甚至不是很酷。
- 試用產品密鑰
它就像一個許可的過程,也就是我們把試用信息到一個RSA簽名的字符串。然而,用戶嘗試使用該軟件需要太多的步驟(他們可能會失去耐心):
- 4.a)用戶下載軟件;
- 4。b)用戶通過提供用戶名(或電子郵件)或硬件信息發送電子郵件來請求試用產品密鑰; (c)服務器收到請求,RSA簽名併發回給用戶;
- 4.D)用戶現在可以使用它的(到期日的情況下&使用次數的數量)。
現在,服務器記錄了用戶的用戶名或硬件信息,因此用戶將被拒絕請求再次嘗試。收集硬件信息是否合法?
總之,用戶必須做一件額外的步驟(要求試用產品密鑰),不僅僅是因爲使用該軟件,這是不冷靜(思考自己作爲一個用戶)的嘗試。
注:這個問題是不是發牌,相反,它是關於在哪裏存儲試用信息。試用期過後,用戶應該要求獲得許可證(CD-Key/Product-Key)。我將使用RSA數字簽名(綁定到用戶設備)
P.S:我的軟件將被靶向中國市場,其軟件市場與我們不同。大多數中國人,他們只買硬件,他們通常不買Micosoft Windows/Office等軟件(他們只是使用盜版副本)。然而,一些針對特定領域的專業軟件,研究人員仍然願意購買它,如果沒有破解版或破解版非常難以安裝。
+1表示完美。 – 2012-01-24 07:30:41