我知道這個問題已經被問過很多次了,我看了每一個問題,但沒有找到適合我的解決方案。 我們的團隊在.Net 4.7.2中制作了一個應用程式,幾天后我們就必須部署它。我們正在使用網路服務,所以即使用戶破解了許可系統,他們也無法訪問服務。我們唯一擔心的是防止它的復制(有人可以用他的品牌轉售,這在我們以前的版本中發生過),因為這些網路服務(簡單的CRUD操作)非常容易實作,所以有人可以改變URL到他們的服務器并復制這些服務。為了防止這種情況,我們正在使用加密的服務器呼叫。我們現在面臨的問題是要保護這種加密演算法,而混淆是不夠的。 同樣,我們唯一關心的是保護代碼。對不起,我的英語不好。 我知道.Net Reactor,但有很多解壓程式可以解壓.Net reactor保護的應用程式。我不知道這些解壓程式在當前版本上是否有效。
。我應該使用.Net Reactor嗎?
uj5u.com熱心網友回復:
你發布的代碼可以/將會被各種人分析(甚至復制/克隆),這一點是沒有辦法的。即使只發布已編譯的二進制檔案,對一個堅定的對手來說也不是一個真正的障礙。像Java的JVM或.NET這樣的半編譯語言經常在二進制檔案中保留大量的源代碼資訊,以至于有時反編譯到可理解的源代碼或多或少是自動的。原始碼混淆可以在這方面提供一些幫助,但這又引入了一個步驟(并可能引入錯誤!),但無論如何,攻擊者可能只對區域的代碼區感興趣。
如果像您所說的那樣,這些服務 "易于復制",我想知道它們是否真的那么有價值。大多數極有價值的'網路服務使用簡單的、甚至是眾所周知的、公開可用的協議(如 "在此下載一個庫來使用我們的服務")來訪問它們,但如果我創建自己的克隆,例如YouTube,我將一無所獲,其價值不在于介面,而在于所提供的服務。
關于保持加密的秘密:永遠不要忘記Kerckhoffs的規則。特別是,自制的加密通常非常容易被破解,即使只是在硬體上,通過一些巧妙的方法也可以得到確切的演算法(如MiFare卡黑客),而且除非是經過精心設計,否則很快就會被破解。請使用公認的加密工具,如AES、Diffie-Hellman、RSA。是的,這可能會招致一些額外的費用(在任何情況下,所有感興趣的東西都有免費/開源的替代品),但它比你能想出的任何東西都要安全得多、多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307907.html
標籤:
上一篇:命令系結。沒有找到CustomCommand-Class
下一篇:如何阻止Array不斷地重新渲染
