病毒加殼技術與脫殼技術

2021-06-18 19:00:00 字數 2548 閱讀 8213

由於大量的防毒軟體的出現,以及防毒軟體病毒庫的不斷壯大,病毒被查殺的機率也越來越大。所以有些病毒就開始通過加殼的方法來偽裝自己,企圖騙過防毒軟體,蒙混過關。為了做好病毒防禦,我們就該了解什麼是加殼?加殼的對立面是不是脫殼?如何脫殼等? 

一 什麼是殼: 

計算機軟體裡有一段專門負責保護軟體不被非法修改或反編譯的程式。它們一般都是先於程式執行,拿到控制權,然後完成它們保護軟體的任務,大家就把這樣的程式稱為「殼」了。從功能上抽象的講,軟體的殼和自然界中的殼相差無幾。無非是保護、隱蔽殼內的東西。而從技術的角度出發,殼是一段執行於原始程式前的**。原始程式的**在加殼的過程中可能被壓縮、加密……。當加殼後的檔案執行時,殼-這段**先於原始程式執行,他把壓縮、加密後的**還原成原始程式**,然後再把執行權交還給原始**。 軟體的殼分為加密殼、壓縮殼、偽裝殼、多層殼等類,目的都是為了隱藏程式真正的oep(入口點,防止被破解)。

作者編好軟體後,編譯成exe可執行檔案。有一些版權資訊需要保護起來,不想讓別人隨便改動,如作者的姓名,即為了保護軟體不被破解,通常都是採用加殼來進行保護。 加殼就需要把程式搞的小一點,從而方便使用。於是,需要用到一些軟體,它們能將exe可執行檔案壓縮。而在黑客界中「殼」則被用在保護病毒,給木馬等軟體加殼脫殼以躲避防毒軟體,給網民帶來很多的麻煩。 

二 病毒加殼: 

在好萊塢間諜電影裡,那些**們往往以神奇莫測的化妝來欺騙別人,甚至變換成另乙個身份,國內對於這種偽裝行為有個通俗的說法——「穿馬甲」。而這種正與邪的爭鬥已經延伸到了病毒領域,很多病毒作者通過給病毒「穿馬甲」、甚至穿多個「馬甲」的方式,躲避防毒軟體的查殺,這種技術就是「加殼」。 病毒作者可以通過給老病毒加殼,大批量製造出防毒軟體無法識別的新病毒。所謂加殼,是一種通過一系列數**算,將可執行程式檔案或動態鏈結庫檔案的編碼進行改變(目前還有一些加殼軟體可以壓縮、加密驅動程式),以達到縮小檔案體積或加密程式編碼的目的。當被加殼的程式執行時,外殼程式先被執行,然後由這個外殼程式負責將使用者原有的程式在記憶體中解壓縮,並把控制權交還給脫殼後的真正程式。一切操作自動完成,使用者不知道也無需知道殼程式是如何執行的。一般情況下,加殼程式和未加殼程式的執行結果是一樣的。 

既然加殼後的病毒不易被發現,那麼如何判斷乙個可執行檔案是否被加了殼呢? 

有乙個簡單的方法(對中文軟體效果較明顯)。用記事本開啟乙個可執行檔案,如果能看到軟體的提示資訊則一般是未加殼的,如果完全是亂碼,則多半是被加殼的。我們還可以使用一款叫做fileinfo的工具來檢視檔案具體加的是什麼殼。目前,較常見到的殼有「upx」、「aspack」、「pepack」、「pecompact」、「upack」、「nspack」、「免疫007」、「木馬彩衣」等等。 

病毒加殼的原理很簡單,現在黑客營中提供的多數病毒中,很多都是經過處理的,而這些處理就是所謂的加殼。我們知道當乙個普通的exe程式生成好後,很輕鬆的就可以利用諸如資源工具和反彙編工具對它進行修改,但如果程式設計師給exe程式加乙個殼的話,那麼至少這個加了殼的exe程式就不是那麼好修改了,如果想修改就必須先脫殼。病毒加殼後也是同樣的道理,我們也必須先為病毒脫殼。

三 脫殼方法: 

目前有很多加殼工具,既然有矛,自然就有盾,只要我們收集全常用脫殼工具,那就不怕病毒加殼了。脫殼主要是通過工具來脫殼。 

常用脫殼工具有: 

1.檔案分析工具(偵測殼的型別):fi,gettyp,peid,pe-scan, 

2.oep入口查詢工具:softice,trw,ollydbg,loader,peid 

3.dump工具:icedump,trw,peditor,procdu***2,lordpe 

4.pe檔案編輯工具peditor,procdu***2,lordpe 

5.重建import table工具:importrec,revirgin 

6.asprotect脫殼專用工具:caspr(aspr v1.1-v1.2有效),rad(只對aspr v1.1有效),loader,peid 

(1)aspack: 用的最多,但只要用unaspack或pedu***2脫殼就行了 

(2)asprotect+aspack:次之,國外的軟體多用它加殼,脫殼時需要用到softice+icedump,需要一定的專業知識,但最新版現在暫時沒有辦法。 

(3)upx: 可以用upx本身來脫殼,但要注意版本是否一致,用-d 引數 

(4)armadill: 可以用softice+icedump脫殼,比較煩 

(5)dbpe: 國內比較好的加密軟體,新版本暫時不能脫,但可以破解 

(6)neolite: 可以用自己來脫殼 

(7)pcguard: 可以用softice+icedump+frogice來脫殼 

(8)pecompat: 用softice配合pedu***2來脫殼,但不要專業知識 

(9)petite: 有一部分的老版本可以用pedu***2直接脫殼,新版本脫殼時需要用到softice+icedump,需要一定的專業知識。 

(10)wwpack32: 和pecompact一樣其實有一部分的老版本可以用pedu***2直接脫殼,不過有時候資源無法修改,也就無法漢化,所以最好還是用softice配合 pedu***2脫殼 

看過本文,相信你對「殼」已經有了一定的了解,對於可疑的.exe檔案,大可用上述方法去檢查他是否加殼,提高安全意識。別讓「穿馬甲」的病毒突破我們的防線.

加殼與脫殼的原理

加殼一般是指保護程式資源的方法.脫殼一般是指除掉程式的保護,用來修改程式資源.病毒加殼技術與脫殼防毒方法 殼是什麼?脫殼又是什麼?這是很多經常感到迷惑和經常提出的問題,其實這個問題一點也不幼稚。當你想聽說脫殼這個名詞並試著去了解的時候,說明你已經在各個安全站點很有了一段日子了。下面,我們進入 殼 的...

04 加殼和脫殼

可以使用以下兩種方式進行判斷 搜尋load commands中的crypt關鍵字 otool l 可執行檔名稱 脫殼方式有兩種,硬脫殼和動態脫殼 將dylib檔案拷貝到iphone上 如果是root使用者,建議放 var root目錄 終端進入dylib所在位置,使用環境變數dyld insert ...

Android APK加殼技術方案

309zhijun 163.com 一 什麼是加殼?加殼是在二進位制的程式中植入一段 在執行的時候優先取得程式的控制權,做一些額外的工作。大多數病毒就是基於此原理。pc exe檔案加殼的過程如下 二 加殼作用 加殼的程式可以有效阻止對程式的反彙編分析,以達到它不可告人的目的。這種技術也常用來保護軟體...