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