可執行程序資源壓縮
加殼是一種用於保護程序資源的技術,其全稱是可執行程序資源壓縮。
加殼技術通過特殊的算法對可執行文件裏的資源進行壓縮,這種壓縮後的程序仍然可以直接運行。加殼的過程通常涉及到在二進制的程序中植入一段代碼,該代碼在程序運行時優先取得控制權,然後在內存中解壓、還原原始程序代碼,完成後再將控制權交還給原始程序。這樣做的目的是爲了隱藏程序的真正入口點(OEP),防止被破解,同時也能防止程序被靜態反編譯或動態分析。
加殼技術不僅用於軟件版權保護,防止軟件被破解,也被病毒利用來繞過某些殺毒軟件的掃描,實現其入侵或破壞的特性。加殼可以分爲幾種類型,包括壓縮殼、密碼殼和加密殼。壓縮殼主要用於減小程序體積,密碼殼需要正確輸入密碼後程序才能運行,而加密殼則對程序內容進行加密保護。