在計算機領域,程序加殼是指在原始程序運行前,先執行一段“殼”程序,然后再把程序交還給原始程序。這樣做的好處是,通過常規破解手段,無法輕易找到可執行程序的真正入口點(OEP),可有效防止破解源程序,保護重要信息數據。
殼加密
殼加密又分為偽裝殼、壓縮殼等多種類型,雖然加殼方法的實現細節有所不同,但其核心加密原理都是不變,即在原始程序外建立一個單獨的防護機制,因此他對于源程序不管做了壓縮、加密還是地址打亂等操作,完整的源代碼還是要被還原出來,這樣才能正常運行。這就是殼加密的一個安全風險,因為殼加密是可以被眾多脫殼軟件繞過或剝離的。現在網絡上有很多免費的脫殼軟件,都可以輕松實現去殼操作,這樣一來,通過加殼保護源程序就不明智了。
殼加密還有另外一個小缺點,就是兼容性問題。因為不同系統平臺下可執行文件的差異導致對于加殼有不同的要求。比如:DOS下的可執行文件事宜.COM結尾的文件,且無文件頭,缺省程序執行地址是0x100;win32平臺的PE文件,不支持自裝載,需要程序使用自己的方法來管理數據,所以標準很不統一就導致了殼加密的兼容性難題不易解決。
算法移植方案
除了殼加密之外,現在市場比較流行的PC軟件加密還有一種算法移植方案。基本原理是把可執行文件中的一部分代碼功能移植到另一個安全硬件平臺運行,保證原有程序代碼不完整,這樣做的好處是必須把現有程序和移植走的程序一同破解才能實現真正的破解。對這種加密方案來說,PC之外的安全硬件平臺非常重要,最常見的就是算法移植加密狗,一般選用安全級別非常高的嵌入式安全芯片來完成移植代碼的運行工作。因為安全芯片具有眾多防破解機制,所以其內部運行的代碼不能非法讀出,只要移植的代碼選取合理,能夠很大限度的提升可執行軟件的安全。
但這種軟件加密方案也是有缺點的,它要求開發人員具備一定嵌入式編程能力,研發需要投入的時間也會較多。
上述兩種加密方案,都有各自的優缺點,用戶還需結合自己的實際需求和應用場景,選擇合適的加密方案,如果用戶更注重安全,那么算法移植方案的加密狗會更適合。
-
PC
+關注
關注
9文章
2066瀏覽量
154030 -
軟件
+關注
關注
69文章
4774瀏覽量
87162 -
加密
+關注
關注
0文章
302瀏覽量
23898
原文標題:【博文連載】PC軟件加密方案
文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論