PC軟件加密方案

       在計算機領域,程序加殼是指在原始程序運行前,先執行一段「殼」程序,而後再把程序交還給原始程序。這樣作的好處是,經過常規破解手段,沒法輕易找到可執行程序的真正入口點(OEP),可有效防止破解源程序,保護重要信息數據。算法

       殼加密又分爲假裝殼、壓縮殼等多種類型,雖然加殼方法的實現細節有所不一樣,但其核心加密原理都是不變,即在原始程序外創建一個單獨的防禦機制,所以他對於源程序無論作了壓縮、加密仍是地址打亂等操做,完整的源代碼仍是要被還原出來,這樣才能正常運行。這就是殼加密的一個安全風險,由於殼加密是能夠被衆多脫殼軟件繞過或剝離的。如今網絡上有不少免費的脫殼軟件,均可以輕鬆實現去殼操做,這樣一來,經過加殼保護源程序就不明智了。編程

       殼加密還有另一個小缺點,就是兼容性問題。由於不一樣系統平臺下可執行文件的差別致使對於加殼有不一樣的要求。好比:DOS下的可執行文件事宜.COM結尾的文件,且無文件頭,缺省程序執行地址是0x100;win32平臺的PE文件,不支持自裝載,須要程序使用本身的方法來管理數據,因此標準很不統一就致使了殼加密的兼容性難題不易解決。安全

       除了殼加密以外,如今市場比較流行的PC軟件加密還有一種算法移植方案。基本原理是把可執行文件中的一部分代碼功能移植到另外一個安全硬件平臺運行,保證原有程序代碼不完整,這樣作的好處是必須把現有程序和移植走的程序一同破解才能實現真正的破解。對這種加密方案來講,PC以外的安全硬件平臺很是重要,最多見的就是算法移植加密狗,通常選用安全級別很是高的嵌入式安全芯片來完成移植代碼的運行工做。由於安全芯片具備衆多防破解機制,因此其內部運行的代碼不能非法讀出,只要移植的代碼選取合理,可以很大限度的提高可執行軟件的安全。網絡

       但這種軟件加密方案也是有缺點的,它要求開發人員具有必定嵌入式編程能力,研發須要投入的時間也會較多。加密

       上述兩種加密方案,都有各自的優缺點,用戶還需結合本身的實際需求和應用場景,選擇合適的加密方案,若是用戶更注重安全,那麼算法移植方案的加密狗會更適合。開發

相關文章
相關標籤/搜索