而從技術(shù)的角度出發(fā),殼是一段執(zhí)行于原始程序前的代碼。原始程序的代碼在加殼的過程中可能被壓縮、加密……。當(dāng)加殼后的文件執(zhí)行時(shí),殼-這段代碼先于原始程序運(yùn)行,他把壓縮、加密后的代碼還原成原始程序代碼,然后再把執(zhí)行權(quán)交還給原始代碼。 軟件的殼分為加密殼、壓縮殼、偽裝殼、多層殼等類,目的都是為了隱藏程序真正的OEP(入口點(diǎn),防止被破解)。
加殼”指的是對編譯好的EXE、DLL等文件采用加殼來進(jìn)行保護(hù);“脫殼”指的就是將文件外邊的殼去除,恢復(fù)文件沒有加殼前的狀態(tài)。 殼出于程序作者想對程序資源壓縮、注冊保護(hù)的目的,把殼分為壓縮殼、密碼殼、加密殼三種。顧名思義,壓縮殼只是為了減小程序體積對資源進(jìn)行壓縮,常見的壓縮殼包括FSG、ASPack、UPX、北斗等;加密殼也就是常說的保護(hù)殼、猛殼,它對程序輸入表等內(nèi)容進(jìn)行加密保護(hù),具有良好的保護(hù)效果,常見的加密殼包括ASPROTECT、ACPROTECT、PELock、幻影等;密碼殼平時(shí)使用得不多,加密殼的程序只有在正確輸入密碼后才能運(yùn)行