創作內容

0 GP

幽楓的病毒教學系列第一課 - 查殼

作者:幽楓│2008-09-11 18:45:23│巴幣:0│人氣:2105
幽楓的病毒分析系列第一課 - 查殼


病毒和木馬都是程式的一種。程式都怕被破壞、任意的篡改,所以都會加上一層殼,這個稱作加殼。有了殼之後,就不能隨意的為程式(木馬/病毒亦是)它做逆向、反彙編的動作。
可以把殼當作植物的種子來理解;殼存在的意義就是保護內部的木馬/病毒不被發現。

個人常用的殼有:
ASPack
UPX
Nspack
RLPack
PE-PACK
WWPack32
.
.
.

要知道什麼殼可以用PEID這款工具來查殼,以方便脫殼。

常見的脫殼工具有:
fileinfo
gettyp
typ
procdump32
.
.
.


假使病毒/木馬沒加殼,可能會看到這種PE訊息:

Microsoft Visual C++ 6.0 [调试]
Borland Delphi 6.0 - 7.0

分別是用C語言和delphi語言寫的程式。


有加殼的情況會見到這樣:

ASPack 2.12 -> Alexey Solodovnikov
NsPacK V3.7 -> LiuXingPing *

上面我提到的其中二種加殼。


接下來就是找真正的入口點,這個是要靠經驗的累積...一些陌生的殼,可能也是無法正常脫去的。

通常一段入口點是這種形式

aaaaaaaa
bbbbbbbb JNZ dddddddd
cccccccc JMP aaaaaaaa
dddddddd

這樣的意思就是會一直呈現一種循環。

這是各種常見的彙編指令:


cmp a,b // 比較a與b 比較a與b
mov a,b // 把b值送給a值,使a=b
ret // 返回主程序
nop // 無作用,英文(no operation)縮寫,意思「do nothing」
call // 調用副程式,副程式以ret結尾
jne或jnz // 不相等則跳
jmp // 無條件跳
jb // 若小於則跳
ja // 若大於則跳
jg // 若大於則跳
jge // 若大於等於則跳
jl // 若小於則跳


看幾次應該就很好理解。

看一下範例

004C6F9B CA FF9C retf 9CFF
004C6F9E 60 pushad
004C6F9F E8 00000000 call 複製_(2).004C6FA4
004C6FA4 5D pop ebp
004C6FA5 83ED 07 sub ebp,7
004C6FA8 8D8D 27FAFFFF lea ecx,dword ptr ss:[ebp-5D9]
004C6FAE 8039 01 cmp byte ptr ds:[ecx],1
004C6FB1 0F84 42020000 je 複製_(2).004C71F9
004C6FB7 C601 01 mov byte ptr ds:[ecx],1
004C6FBA 8BC5 mov eax,ebp
004C6FBC 2B85 BBF9FFFF sub eax,dword ptr ss:[ebp-645]
004C6FC2 8985 BBF9FFFF mov dword ptr ss:[ebp-645],eax
004C6FC8 0185 EBF9FFFF add dword ptr ss:[ebp-615],eax
004C6FCE 8DB5 2FFAFFFF lea esi,dword ptr ss:[ebp-5D1]
004C6FD4 0106 add dword ptr ds:[esi],eax

這就是彙編的東西,要手動脫殼、或是工具脫殼也都可以,目的達到就好。
當然這種彙編也涉及到一些破解方法,只要了解這種斷點、找入口點、比較,就可以找到一些程式自帶的註冊碼,這裡並不是在說這個非法動作,有興趣的自己研究

有個網上流行的口訣

一條(跳)就死,九筒(90)就胡(修改為nop)
一條(跳)就胡,一餅(EB)伺候(修改為jmp)
(74) 變(75)
(84) 變(85)

總結查殼順序就是:

1.先用PEID查什麼殼
2.看啥殼就自己到搜尋引擎找對應的unpack工具
2.靜態的彙編工具就用C32A
3.動態的彙編工具就用ollydbg
4.準備UItraEdit、WinHex、Restorator這些可以資源編輯和文件編輯的工具
5.接著開始分析


第一課結束。
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=781082
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 3 篇留言

小淺〃
幽楓大
是台灣人嗎?
怎感覺講話好像都是大陸那邊的
有些東西都看不太懂

09-16 01:03

乂瘦竹竿乂

看不懂...
(話說我媽要我去學軟體,那時要記得選關於這部分的課...)
我想第二篇我可以跳過了...

10-03 22:20

花蓮仔
我想問一下
我用peid查殼
我查了一個外掛的殼!!
我直接用搜尋去找程式
可是再來我就不會了
我是超級初新者
完全沒有底子的
能夠教一下怎麼用peid查殼才是完整的方式?

12-02 02:50

我要留言提醒:您尚未登入,請先登入再留言

喜歡★b1356788 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:駭客和電腦白癡的對話... 後一篇:讓木馬自動執行的方法...

追蹤私訊切換新版閱覽

作品資料夾

rufu90229愛繪本的巴友
快來抽我新出的繪本吧:https://reurl.cc/8vX59g看更多我要大聲說2小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】