加殼:其實是利用特殊的算法,對可執行文件裏的資源進行壓縮,只不過這個壓縮之後的文件,可以獨立運行,解壓過程完全隱蔽,都在內存中完成。附加在原程序上通過加載器載入內存後,先於原始程序執行,得到控制權,執行過程中對原始程序進行解密、還原,還原完成後再把控制權交還給原始程序,執行原來的代碼部分。
加上外殼後,原始程序代碼在磁盤文件中壹般是以加密後的形式存在的,只在執行時在內存中還原,這樣就可以比較有效地防止破解者對程序文件的非法修改,同時也可以防止程序被靜態反編譯。
加花:是在壹些反匯編軟件中加入壹些花指令,花指令是利用了反匯編時單純根據機器指令字來決定反匯編結果的漏洞。
去殼:顧名思義,就是對軟件加殼的逆操作,把軟件上存在的殼去掉。在壹些計算機軟件裏也有壹段專門負責保護軟件不被非法修改或反編譯的程序。
壹般都是先於程序運行,拿到控制權,然後完成它們保護軟件的任務。由於這段程序和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程序稱為“殼”了。就像計算機病毒和自然界的病毒壹樣,其實都是命名上的方法罷了。
擴展資料:
加“殼”雖然增加了CPU負擔,但是減少了硬盤讀寫時間,實際應用時加“殼”以後程序運行速度更快(當然有的加“殼”以後會變慢,那是選擇的加“殼”工具問題)。
壹般軟件都加“殼”這樣不但可以保護自己的軟件不被破解、修改還可以增加運行時啟動速度。
加“殼”不等於木馬,平時的絕大多數軟件都加了自己的專用“殼”。
RAR和ZIP都是壓縮軟件,不是加“殼”工具,解壓時是需要進行磁盤讀寫,“殼”的解壓縮是直接在內存中進行的。