做為軟件開發者,研究好軟件加密的確很重要,不過也很有必要多了解一些關于加密狗解密和po解的知識,加密和po解就像矛和盾一樣,對于解密知識了解的越多,那么編寫的加密代碼就越好,要知道加密永遠都比解密要容易的多,只有知己知彼,方能百戰百勝。 以下就針對使用加密狗(加密鎖)進行硬件保護談談幾點心得: 針對于使用加密狗的解密有什么方法? 1、硬件復制 復制硬件,即解密者復制Sentinel Superpro相同的加密鎖。 2、監聽 目前加密鎖(加密狗)的解密po 解工作主要集中在應用程序與加密動態庫之間的通訊攔截。這種方法成本較低,也易于實現,對待以單片機等芯片為核心的加密鎖(加密狗)具有不錯的解密效果。 3、DEBUG 解密者DEBUG等反編譯程序,修改程序源代碼或跳過查詢比較,應用程序也就被解密了。 對于Debug調試po解,由于軟件的復雜度越來越高,編譯器產生的代碼也越來越多,通過反匯編等方法跟蹤調試po解的復雜度已經變得越來越高,po解成本也越來越高,目前已經很少有人愿意花費大量精力進行如此復雜的po解,除非被po解的軟件具有較高的價值。 對于以上的幾種解密方法加密者可以考慮使用以下幾種加密策略: 1、在選擇加密狗的時候要選擇硬件安全復制難度大的加密產品。使用可移植算法加密狗,可以把自己軟件中一部分算法和代碼移植到加密狗中運行,后者給用戶提供二次開發環境,軟件開發商可在上面做很多工作,完成自己的二次加密。實現了算法級加密,而不是簡單的對比認證的點級加密。內部移植代碼用戶自行掌握和控制不存通用的邏輯加密模塊,破譯者也無從下手。
2、加密鎖特有的文件完整性檢測專門用于反跟蹤,反破譯。加密鎖一旦檢測到客戶程序的校驗碼有變,則自動終止程序,保護軟件,防止文件被非法篡改、分析。此功能將使得任何對開發商軟件的解密企圖都被識破。 3、可移植加密鎖均為高強度設計,相當于主機之外另有一臺專職加密的小主機,內置CPU,加密算法的實現在鎖內獨立完成,不在主機CPU中,以便防止任何跟蹤、解密,也減少CPU資源占用,不影響軟件運行速度。整個過程中加密鎖與計算機之間通訊均做加密處理,防止任何端口截獲。 現在的解密技術排除法律和道德因素,就從學術角度來說是門科學。它與加密技術一樣是相輔相成不斷提高。我們的目標就是讓加密技術在大部分時間內保持對解密技術優勢,不斷研究新型加密方法,使解密技術、時間、資源成本超出被保護軟件的研制成本和實用時效,從而在實際意義上保護軟件在其生存周期內不被dao版。希望以上的分析及應對策略能給讀者些參考性建議。
|