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
我要留言提醒:您尚未登入,請先
登入再留言
0喜歡★b1356788 可決定是否刪除您的留言,請勿發表違反站規文字。
前一篇:駭客和電腦白癡的對話...
後一篇:讓木馬自動執行的方法...