2009-06-14 150 views
1

應用程序通常具有註冊密鑰。它可以被置於文件或註冊表中。 有時,應用程序通過輸入另一個密鑰, 或通過日期等來停用。在哪裏可以安全地存儲關於應用程序的此類信息被禁用? 文件不是答案;備份副本可以恢復到 擊敗此。註冊表是一個弱的答案,只是因爲 大多數人不知道它在那裏,並不認爲它恢復它, ,如果他們這樣做,他們恢復通常 有其他令人沮喪的副作用的整個事情。Windows上的應用程序商店「我已停用」在哪裏?

在我看來,存儲去激活信息是 絕望不安全,因爲舊副本可以隨時恢復。 最好的情況是,可以通過加密命名的文件或註冊表項在 之間進行混淆來隱藏此數據。

有沒有我不知道的標準把戲,或Windows支持的標準 方案,這有助於解決這個問題?

第2輪:我見過很多答案。他們都沒有 具體說「你不能這樣做」,但幾個暗示 打電話回家是唯一的好選擇(「停用」)。

讓我們假設打電話回家,dongle不是答案, 和一個不得不在機器上留下的東西。在這種情況下,典型的許可方案實際上做了什麼 ?

回答

1

創建並註冊服務器上的許可文件。如果您使用公鑰密碼術,則許可證文件不能輕易僞造。你的申請當然可以被破解而不需要許可證,但那是一回事。

0

雅,你可以加密的東西,這就是他們做的!。查網的各種許可schemes.Even微軟有一個... Microsoft Software Licensing and Protection

您可以使用Microsoft加密API來開發你code.Plus掩蓋你的程序集或dlls.Force用戶激活。

+0

所有加密操作都隱藏了內容。無論盒子裏有什麼,如果我能檢測到盒子的存在,我可以保存它的一個副本並在以後恢復。那麼加密如何提供幫助? – 2009-06-14 06:41:52

+1

您可以將安裝/首次使用日期存儲在框中,然後檢查是否已經過去了指定的時間。這將防止您提到的情況。 – RCIX 2009-06-14 07:06:52

+0

這允許您實現超時。 但是,如果軟件在某個時間點註冊了全功能 ,並且相關的 項目的快照已經完成並且在註銷後恢復,那麼該軟件肯定會運行。 – 2009-06-14 08:00:54

0

所有保護方案都容易受到某種類型的攻擊。信息的加密確實有助於防止攻擊,因爲信息以混淆的方式存儲,但即使這樣也不是不可破解的。

另一種可能的選擇是遠程存儲實際的激活狀態信息,並在機器上留下對該信息的引用,可能是加密的。有很多方法可以做到這一點,但想到的是存儲某種類型的GUID,然後您可以在數據庫中查找

這樣做的一個缺點是互聯網連接的需求,我沒有知道這是否是禁止性的,但總體思路是從您不控制的機器上移除激活狀態並將其放在您要做的一個機器上

2

與開放平臺上的iPhone和其他封閉環境就像windows/linux一樣,你總是會冒很大的風險,因爲保護很容易被繞過(本地串行保護),或者通過反轉和修補你的代碼來破解。幾乎每個現代單人遊戲都有這個問題。另外,很難找到一個不會讓用戶煩惱的解決方案。我們都記得Sony-CD-Rootkit的災難,而且在遊戲行業,它始終是最新的DVD保護,它無法像所有驅動器那樣工作。但你能做什麼呢?您可以嘗試通常的串行,回撥選項,並在更新的更新(Adobe,FlashFXP,Windows)中禁止某些連續出版物。如果你的消費者羣很低,這對你來說可能就足夠了。如果 - 無論出於何種原因 - 這不是一種選擇,那麼使用您的軟件需要使用USB-Dongle。聽說過很多使用它的CAD程序。你可以研究的最後一件事,你的應用程序的水印怎麼樣?如果它顯示在某些p2p網絡上,您可能會看到泄漏的位置。基本上什麼都不會給你100%的保證,但有一些選項可以讓普通用戶更加困難......請記住,你的大部分資金應該花在創造一個偉大的產品上,而不是購買大多數無用的保護!

相關問題