加殼與脫殼的原理

2021-04-27 02:47:10 字數 3636 閱讀 5235

加殼一般是指保護程式資源的方法.

脫殼一般是指除掉程式的保護,用來修改程式資源.

病毒加殼技術與脫殼防毒方法 :

殼是什麼?脫殼又是什麼?這是很多經常感到迷惑和經常提出的問題,其實這個問題一點也不幼稚。當你想聽說脫殼這個名詞並試著去了解的時候,說明你已經在各個安全站點很有了一段日子了。下面,我們進入「殼」的世

界吧。

一、金蟬脫殼的故事

我先想講個故事吧。那就是金蟬脫殼。金蟬脫殼屬於三十六計中的混戰計。金蟬脫殼的本意是:寒蟬在蛻變時,本體脫離皮殼而走,只留下蟬蛻還掛在枝頭。此計用於軍事,是指通過偽裝擺脫敵人,撤退或轉移,以實現我方的戰略目標的謀略。穩住對方,撤退或轉移,決不是驚慌失措,消極逃跑,而是保留形式,抽走內容,穩住對方,使自己脫離險境達到己方戰略目標,己方常常可用巧妙分兵轉移的機會出擊另一部分敵人。三國時期,諸葛亮六出祁山,北伐中原,但一直未能成功,終於在第六次北伐時,積勞成疾,在五丈原病死於軍中。 維遵照諸葛亮的吩咐,在諸葛亮死後,秘不發喪,對外嚴密***息。他帶著靈柩,秘密率部撤退。司馬懿派部隊跟蹤追擊蜀軍。姜維命工匠仿諸葛亮摸樣,雕了乙個木人,羽扇綸巾,穩坐車中。並派楊儀率領部分人馬大張旗鼓,向魏軍發動進攻。魏軍遠望蜀軍,軍容整齊,旗鼓大張,又見諸葛亮穩坐車中,指揮若定,不知蜀軍又耍什麼花招,不敢輕舉妄動。司馬懿一向知道諸葛亮「詭計多端」,又懷疑此次退兵乃是誘敵之計,於是命令部隊後撤,觀察蜀軍動向。姜維趁司馬懿退兵的大好時機,馬上指揮主力部隊,迅速安全轉移,撤回漢中。等司馬懿得知諸葛亮已死,再進兵追擊,為時已晚。相信這個故事,大家在大型連續劇《三國演義》裡已經看過了。呵呵,只是沒有理解得這麼深入罷了!而在黑客入侵技術中,金蟬脫殼則是指:刪除系統執行日誌 攻擊者攻破系統後,常刪除系統執行日誌,隱藏自己的痕跡...呵呵

二、殼,脫殼,加殼

在自然界中,我想大家對殼這東西應該都不會陌生了,由上述故事,我們也可見一斑。自然界中植物用它來保護種子,動物用它來保護身體等等。同樣,在一些計算機軟體裡也有一段專門負責保護軟體不被非法修改或反編譯的程式。它們一般都是先於程式執行,拿到控制權,然後完成它們保護軟體的任務。就像動植物的殼一般都是在身體外面一樣理所當然(但後來也出現了所謂的「殼中帶籽」的殼)。由於這段程式和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程式稱為「殼」了。就像計算機病毒和自然界的病毒一樣,其實都是命名上的方法罷了。 從功能上抽象,軟體的殼和自然界中的殼相差無幾。無非是保護、隱蔽殼內的東西。而從技術的角度出發,殼是一段執行於原始程式前的**。原始程式的**在加殼的過程中可能被壓縮、加密……。當加殼後的檔案執行時,殼-這段**先於原始程式執行,他把壓縮、加密後的**還原成原始程式**,然後再把執行權交還給原始**。 軟體的殼分為加密殼、壓縮殼、偽裝殼、多層殼等類,目的都是為了隱藏程式真正的oep(入口點,防止被破解)。關於「殼」以及相關軟體的發展歷史請參閱吳先生的《一切從「殼」開始》。

(一)殼的概念

作者編好軟體後,編譯成exe可執行檔案。 1.有一些版權資訊需要保護起來,不想讓別人隨便改動,如作者的姓名,即為了保護軟體不被破解,通常都是採用加殼來進行保護。 2.需要把程式搞的小一點,從而方便使用。於是,需要用到一些軟體,它們能將exe可執行檔案壓縮, 3.在黑客界給木馬等軟體加殼脫殼以躲避防毒軟體。實現上述功能,這些軟體稱為加殼軟體。

(二)加殼軟體最常見的加殼軟體

aspack ,upx,pecompact 不常用的加殼軟體wwpack32;pe-pack ;petite neolite

(三)偵測殼和軟體所用編寫語言的軟體

因為脫殼之前要查他的殼的型別。

1.偵測殼的軟體fileinfo.exe 簡稱fi.exe(偵測殼的能力極強)。

2.偵測殼和軟體所用編寫語言的軟體language.exe(兩個功能合為一體,很棒),推薦language2000中文版(專門檢測加殼型別)。

3.軟體常用編寫語言delphi,visualbasic(vb)---最難破,visualc(vc)。

(四)脫殼軟體

軟體加殼是作者寫完軟體後,為了保護自己的**或維護軟體產權等利益所常用到的手段。目前有很多加殼工具,當然有盾,自然就有矛,只要我們收集全常用脫殼工具,那就不怕他加殼了。軟體脫殼有手動脫和自動脫殼之分,下面我們先介紹自動脫殼,因為手動脫殼需要運用組合語言,要跟蹤斷點等,不適合初學者,但我們在後邊將稍作介紹。

常用脫殼工具:

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脫殼

常見的殼脫法:

(一)aspack殼 脫殼可用unaspack或caspr 1.unaspack ,使用方法類似lanuage,傻瓜式軟體,執行後選取待脫殼的軟體即可. 缺點:只能脫aspack早些時候版本的殼,不能脫高版本的殼 2.caspr第一種:待脫殼的軟體(如aa.exe)和caspr.exe位於同一目錄下,執行windows起始選單的執行,鍵入 caspr aa.exe脫殼後的檔案為aa.ex_,刪掉原來的aa.exe,將aa.ex_改名為aa.exe即可。使用方法類似fi 優點:可以脫aspack任何版本的殼,脫殼能力極強缺點:dos介面。第二種:將aa.exe的圖示拖到caspr.exe的圖示上***若已偵測出是aspack殼,用unaspack脫殼出錯,說明是aspack高版本的殼,用caspr脫即可。

(二)upx殼 脫殼可用upx待脫殼的軟體(如aa.exe)和upx.exe位於同一目錄下,執行windows起始選單的執行,鍵入upx -d aa.exe。

(三)pecompact殼 脫殼用unpecompact 使用方法類似lanuage傻瓜式軟體,執行後選取待脫殼的軟體即可。

(四)procdump 萬能脫殼但不精,一般不要用 使用方法:執行後,先指定殼的名稱,再選定欲脫殼軟體,確定即可脫殼後的檔案大於原檔案由於脫殼軟體很成熟,手動脫殼一般用不到。

04 加殼和脫殼

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

病毒加殼技術與脫殼技術

由於大量的防毒軟體的出現,以及防毒軟體病毒庫的不斷壯大,病毒被查殺的機率也越來越大。所以有些病毒就開始通過加殼的方法來偽裝自己,企圖騙過防毒軟體,蒙混過關。為了做好病毒防禦,我們就該了解什麼是加殼?加殼的對立面是不是脫殼?如何脫殼等?一 什麼是殼 計算機軟體裡有一段專門負責保護軟體不被非法修改或反編...

軟體的殼和殼的含義 概念以及加殼和脫殼方法

pe portable executable 也就是exe和dl 檔案所具有的起壓縮 加密 保護作用的東西。可以用peid等軟體查殼。加殼通過修改程式入口點等壓縮 加密 保護exe和dl.在自然界中,我想大家對殼這東西應該都不會陌生了,由上述故事,我們也可見一斑。自然界中植物用它來保護種子,動物用它...