2011-08-28 69 views
3

我在想如果有一個Java庫可以幫助您將可部署的桌面Java應用程序轉變爲許可證所需的軟件?Java軟件許可證庫,以最大程度地防止盜版?

不只是輸入CD密鑰,而是通過與另一臺服務器進行通信,該服務器將通過Mac地址& IP對用戶進行身份驗證。

或者可能在Java桌面上創建一個簡單的用戶登錄表單並讓它與遠程服務器通信以驗證?這仍然容易破裂?

我對如何最好地保護自己免受海盜行爲感到無能爲力。

+0

防止盜版的最好方法是開源代碼:-) –

+0

我不能直接對你的方法說話,但我也建議你也使用模糊處理(通過開源軟件,如Proguard)來防止人們理解反編譯的代碼。 – Alastair

+0

你是否需要混淆器來避免反編譯? –

回答

9

這個問題沒有很好的解決方案。

標準方法是使用FlexLM等許可證進行許可證管理(或自行開發),然後在您的應用程序中使用混淆器,以使其很難禁用許可證檢查。但是,解碼混淆的字節碼並不是一種火箭科學,所以你的努力將無法堅定地試圖打破你的保護。

人們爲防止禁用許可證檢查而採取的另一種方法是加密字節碼,並使用特殊的類加載器來即時解密它們。但是這也失敗了,因爲盜版者可以對類加載器進行逆向工程,提取解密密鑰並使用它們解密字節碼。

其他措施同樣註定失敗。問題是您的代碼必須在您無法控制的平臺上執行,並且這使得盜版者有足夠的能力打破您可能包含在代碼中的任何反盜版措施。


防止盜版的唯一(實用)方法是不讓不受信任的人訪問您的代碼。在安全的服務器上運行它,並將其作爲服務而不是產品提供。

國際海事組織,更好的辦法是與您的代碼盜版的事實生活在一起,並專注於爲準備付錢的誠實客戶提供物超所值的服務。或者乾脆開源你的代碼,並找出其他方式來獲得你的努力獎勵。


想想這樣。像微軟,媒體公司等多國公司還沒有拿出真正的技術解決方案來解決盜版問題。你認爲你有什麼機會?

+0

這並不是說我試圖重新發明輪子,或試圖提出一個絕對安全的系統來防止盜版,但它肯定有可能使盜版變得困難或者在經濟上不可行,以至於它會比沒有盜版保護。微軟和許多其他公司已經提出了一個完美的解決方案,但它的工作足以保護他們的銷售。所以是的,我認爲那裏有一些解決方案,但不是一個完美的解決方案。我強調最好的解決方案可能不是理論上安全的解決方案,因爲很多人都在關注 – KJW

+0

好運找它。 –

+0

我想這裏沒有太多的運氣。 – KJW