脫殼

脫殼

計算機專業術語
在一些計算機軟件裡有一段專門負責保護軟件不被非法修改或反編譯的程序。它們一般都是先于程序運行,拿到控制權,然後完成它們保護軟件的任務。就像動植物的殼一般都是在身體外面一樣理所當然(但後來也出現了所謂的“殼中帶籽”的殼)。由于這段程序和自然界的殼在功能上有很多相同的地方,基于命名的規則,大家就把這樣的程序稱為“殼”。軟件加殼是作者寫完軟件後,為了保護自己的代碼或維護軟件産權等利益所常用到的手段。有很多加殼工具,既然有矛,自然就有盾,脫殼即去掉軟件所加的殼,軟件脫殼有手動脫和自動脫殼之分。最常見的加殼軟件有ASPACK,UPX。
    中文名:脫殼 外文名: 所屬學科: 分類:手動脫和自動脫殼 負責:保護軟件 優勢:先于程序運行 性質:原始程序前的代碼

殼的概念

原始程序的代碼在加殼的過程中可能被壓縮、加密……。當加殼後的文件執行時,殼-這段代碼先于原始程序運行,他把壓縮、加密後的代碼還原成原始程序代碼,然後再把執行權交還給原始代碼。軟件的殼分為加密殼、壓縮殼、僞裝殼、多層殼等類,目的都是為了隐藏程序真正的OEP(入口點,防止被破解)。從技術的角度出發,殼是一段執行于原始程序前的代碼。

作者編好軟件後,編譯成exe可執行文件。1.有一些版權信息需要保護起來,不想讓别人随便改動,如作者的姓名,即為了保護軟件不被破解,通常都是采用加殼來進行保護。2.需要把程序搞的小一點,從而方便使用。于是,需要用到一些軟件,它們能将exe可執行文件壓縮,3.在黑客界給木馬等軟件加殼脫殼以躲避殺毒軟件。實現上述功能,這些軟件稱為加殼軟件。

軟件

加殼一般屬于軟件加密,越來越多的軟件經過壓縮處理,給漢化帶來許多不便,軟件漢化愛好者也不得不學習掌握這種技能。脫殼一般分手動和自動兩種,手動就是用TRW2000、TR、SOFTICE等調試工具對付,對脫殼者有一定水平要求,涉及到很多彙編語言和軟件調試方面的知識。而自動就是用專門的脫殼工具來脫,最常用某種壓縮軟件都有他人寫的反壓縮工具對應,有些壓縮工具自身能解壓,如UPX;有些不提供這功能,如:ASPACK,就需要UNASPACK對付,好處是簡單,缺點是版本更新了就沒用了。另外脫殼就是用專門的脫殼工具來對付,最流行的是PROCDUMPv1.62,可對付各種壓縮軟件的壓縮檔。在這裡介紹的是一些通用的方法和工具,希望對大家有幫助。我們知道文件的加密方式,就可以使用不同的工具、不同的方法進行脫殼。下面是我們常常會碰到的加殼方式及簡單的脫殼措施,供大家參考:脫殼的基本原則就是單步跟蹤,隻能往前,不能往後。脫殼的一般流程是:查殼->尋找OEP->Dump->修複找OEP的一般思路如下:先看殼是加密殼還是壓縮殼,壓縮殼相對來說容易些,一般是沒有異常,找到對應的popad後就能到入口,跳到入口的方式一般為:jmp OEP、push OEP ret、call OEP,當然也有其它的,如je OEP等等,一般都是段之間的大跳轉,OD的反彙編窗口裡都是同一個段的内容,所以更好區别是否是段間跳轉。我們知道文件被一些壓縮加殼軟件加密,下一步我們就要分析加密軟件的名稱、版本。因為不同軟件甚至不同版本加的殼,脫殼處理的方法都不相同。

工具

1、文件分析工具(偵測殼的類型):Fi,GetTyp,peid,pe-scan,

2、OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid

3、dump工具:IceDump,TRW,PEditor,ProcDump32,LordPE

4、PE文件編輯工具PEditor,ProcDump32,LordPE

5、重建Import Table工具:ImportREC,ReVirgin

6、ASProtect脫殼專用工具:Caspr(ASPr V1.1-V1.2有效),Rad(隻對ASPr V1.1有效),loader,peid(1)Aspack:用的最多,但隻要用UNASPACK或PEDUMP32脫殼就行了

(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配合PEDUMP32來脫殼,但不要專業知識

(9)Petite:有一部分的老版本可以用PEDUMP32直接脫殼,新版本脫殼時需要用到SOFTICE+ICEDUMP,需要一定的專業知識

(10)WWpack32:和PECOMPACT一樣其實有一部分的老版本可以用PEDUMP32直接脫殼,不過有時候資源無法修改,也就無法漢化,所以最好還是用SOFTICE配合PEDUMP32脫殼我們通常都會使用Procdump32這個通用脫殼軟件,它是一個強大的脫殼軟件,他可以解開絕大部分的加密外殼,還有腳本功能可以使用腳本輕松解開特定外殼的加密文件。另外很多時候我們要用到exe可執行文件編輯軟件ultraedit。我們可以下載它的漢化注冊版本,它的注冊機可從網上搜到。ultraedit打開一個中文軟件,若加殼,許多漢字不能被認出ultraedit打開一個中文軟件,若未加殼或已經脫殼,許多漢字能被認出 ultraedit可用來檢驗殼是否脫掉,以後它的用處還很多,請熟練掌握例如,可用它的替換功能替換作者的姓名為你的姓名注意字節必須相等,兩個漢字替兩個,三個替三個,不足處在ultraedit編輯器左邊用00補。

相關信息

加殼軟件最常見的加殼軟件ASPACK,UPX,PEcompact不常用的加殼軟件WWPACK32;PE-PACK;PETITE NEOLITE。

偵測殼和軟件所用編寫語言的軟件,因為脫殼之前要查他的殼的類型。1.偵測殼的軟件fileinfo.exe簡稱fi.exe(偵測殼的能力極強)2.偵測殼和軟件所用編寫語言的軟件language.exe(兩個功能合為一體,很棒)推薦language2000中文版(專門檢測加殼類型)3.軟件常用編寫語言Delphi,VisualBasic(VB)---最難破,VisualC(VC)。

相關詞條

相關搜索

其它詞條