標籤:殼
殼,即堅硬的外皮,當殼的厚度與其曲面率半徑的比值小於0.5時,稱為“薄殼”,反之稱為“厚殼”。由殼演化來的胸甲,盾牌.
在電腦這個注重創意又不失從文化科技中汲取養分的世界裡.你可以找到很多有趣的東西與與現實對應.
比如漏洞攻擊中的Payload原意便是飛彈術語中有效載荷.而惡意程式在正常程式中複製自身的行為被稱為感染,有這種行為的惡意程式又被類比到生物學稱為病毒.
隨著專業人士對可執行檔運行機制的加深,破解行為越來越猖獗.相關法律法規不健全和執行力度不強.保護自己商業機密成為程式員不得不考慮的任務.而病毒這種寄生在目標程式中的,先於目標程式運行的行為,又被聰明的程式員使用起來保護自己的軟體資產.他們在程式運行前對程式本身進行加密.在寄生體運行起來後,寄生體開始解密自己的感染體程式並將它們放置在合理的位置.至此保護與反保護的大幕被徐徐揭開.
注:惡意程式對自身的保護的部分技術被用於殼中.諸如:
跟蹤調試,反AntiASM,資料加密,代碼迷惑,作業碼混合,校正和,基於壓縮的隱蔽代碼,反跟蹤,攻擊性反制等
-<電腦病毒防範藝術>-PeterSzor
電腦殼保護程式,一般分為:
- 壓縮殼:著名代表是UPX.主要目的是減少程式體積.幾乎不採用破解反制措施.
- 加密殼:大部分殼屬於此範圍,採用一種或者數種反制措施,時常包括一些環境探測和反調試等.
- 虛擬機器殼:通過類似於虛擬機器的機制,將原程式拆解轉換成保密的OPCode,通過類比CPU,寄存器,堆棧,解釋並執行被拆裝後的程式.
虛擬機器殼的代表是同一家公司的兩款產品:Themida和VMProtect.後者在虛擬機器機制的基礎上增加了更多的反調試功能並能針對特定程式碼片段進行保護,以做到效率和安全性兼顧.
古人有雲:不積矽步,不能至千裡.我們這次殼之旅將從探討“殼程式的需求”開始,然後從一款殼的打造執行個體來講解一些關鍵知識點.最後馳騁我們的想象,打造一款只屬於你自己的輕配量序保護殼.
你準備好了嗎?
著作權聲明:本文為博主原創文章,在註明作者和來源的情況下可自由轉載。
淺談"殼"(一)