在計(jì)算機(jī)領(lǐng)域,程序加殼是指在原始程序運(yùn)行前,先執(zhí)行一段“殼”程序,然后再把程序交還給原始程序。這樣做的好處是,通過(guò)常規(guī)破解手段,無(wú)法輕易找到可執(zhí)行程序的真正入口點(diǎn)(OEP),可有效防止破解源程序,保護(hù)重要信息數(shù)據(jù)。
殼加密
殼加密又分為偽裝殼、壓縮殼等多種類(lèi)型,雖然加殼方法的實(shí)現(xiàn)細(xì)節(jié)有所不同,但其核心加密原理都是不變,即在原始程序外建立一個(gè)單獨(dú)的防護(hù)機(jī)制,因此他對(duì)于源程序不管做了壓縮、加密還是地址打亂等操作,完整的源代碼還是要被還原出來(lái),這樣才能正常運(yùn)行。這就是殼加密的一個(gè)安全風(fēng)險(xiǎn),因?yàn)闅ぜ用苁强梢员槐姸嗝摎ぼ浖@過(guò)或剝離的?,F(xiàn)在網(wǎng)絡(luò)上有很多免費(fèi)的脫殼軟件,都可以輕松實(shí)現(xiàn)去殼操作,這樣一來(lái),通過(guò)加殼保護(hù)源程序就不明智了。
殼加密還有另外一個(gè)小缺點(diǎn),就是兼容性問(wèn)題。因?yàn)椴煌到y(tǒng)平臺(tái)下可執(zhí)行文件的差異導(dǎo)致對(duì)于加殼有不同的要求。比如:DOS下的可執(zhí)行文件事宜.COM結(jié)尾的文件,且無(wú)文件頭,缺省程序執(zhí)行地址是0x100;win32平臺(tái)的PE文件,不支持自裝載,需要程序使用自己的方法來(lái)管理數(shù)據(jù),所以標(biāo)準(zhǔn)很不統(tǒng)一就導(dǎo)致了殼加密的兼容性難題不易解決。
算法移植方案
除了殼加密之外,現(xiàn)在市場(chǎng)比較流行的PC軟件加密還有一種算法移植方案?;驹硎前芽蓤?zhí)行文件中的一部分代碼功能移植到另一個(gè)安全硬件平臺(tái)運(yùn)行,保證原有程序代碼不完整,這樣做的好處是必須把現(xiàn)有程序和移植走的程序一同破解才能實(shí)現(xiàn)真正的破解。對(duì)這種加密方案來(lái)說(shuō),PC之外的安全硬件平臺(tái)非常重要,最常見(jiàn)的就是算法移植加密狗,一般選用安全級(jí)別非常高的嵌入式安全芯片來(lái)完成移植代碼的運(yùn)行工作。因?yàn)榘踩酒哂斜姸喾榔平鈾C(jī)制,所以其內(nèi)部運(yùn)行的代碼不能非法讀出,只要移植的代碼選取合理,能夠很大限度的提升可執(zhí)行軟件的安全。
但這種軟件加密方案也是有缺點(diǎn)的,它要求開(kāi)發(fā)人員具備一定嵌入式編程能力,研發(fā)需要投入的時(shí)間也會(huì)較多。
上述兩種加密方案,都有各自的優(yōu)缺點(diǎn),用戶(hù)還需結(jié)合自己的實(shí)際需求和應(yīng)用場(chǎng)景,選擇合適的加密方案,如果用戶(hù)更注重安全,那么算法移植方案的加密狗會(huì)更適合。
-
PC
+關(guān)注
關(guān)注
9文章
2084瀏覽量
154262 -
軟件
+關(guān)注
關(guān)注
69文章
4953瀏覽量
87561 -
加密
+關(guān)注
關(guān)注
0文章
304瀏覽量
23933
原文標(biāo)題:【博文連載】PC軟件加密方案
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論