其實沒這個必要,是應peterchen要求所寫!
就先說說軟體的脫殼吧!它用upx加殼.
第一種脫殼方法:trw+衝擊波0.2
啟動衝擊波,點選Trace,然後執行要脫殼的軟體,此時衝擊波會顯示一個數值(這裡應該是00488C78),這
就是程式的入口.
trw載入檔案,Ctrl+N,
g 00488C78
MakePe 或 pedump
脫殼成功!
第二種脫殼方法:只用trw.
用trw載入程式,選擇載入,這時TRW彈出,按一次F10,程式來到這裡:
:004BA000 60
pushad
:004BA001 E800000000 call
004BA006
一直按F10執行到上面這一行,注意這個call一定要進去,因為你再按一次F10的話,程式就執行了!
於是按F8進入:
* Referenced by a CALL at Address:
|:004BA001
|
:004BA006 83CDFF
or ebp, FFFFFFFF
:004BA009 31DB
xor ebx, ebx
:004BA00B 5E
pop esi
:004BA00C 8DBEFA6FF4FF lea edi, dword
ptr [esi+FFF46FFA]
:004BA012 57
push edi
:004BA013 668187F4830B000100 add word ptr [edi+000B83F4],
0001
:004BA01C 81C6B3010000 add esi, 000001B3
:004BA022 EB0A
jmp 004BA02E
到了這裡,再繼續按F10跳轉到 004BA02E,繼續跟蹤
:004BA02E 01DB
add ebx, ebx
:004BA030 7507
jne 004BA039
:004BA032 8B1E
mov ebx, dword ptr [esi]
:004BA034 83EEFC
sub esi, FFFFFFFC
:004BA037 11DB
adc ebx, ebx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA030(C)
|
:004BA039 72ED
jb 004BA028
:004BA03B B801000000 mov eax,
00000001
在004BA039這一行程式將*向上*跳到004BA028,進行迴圈解壓,而我們沒有必要跟著它走,所以將游標
定位於004BA03B,按F7,這樣就省去了許多步驟了,接著軟體還會有很多類似於這裡的地方,都可以用這
種方法跳過去.若是程式向下跳躍的時候,就不要多此一舉了,讓它跳就是了,還要注意的是按F7前,最好
先在跳轉的地方設個斷點,再bd掉,這樣即使判斷錯誤,也還有的救,be就可以了繼續跟蹤了.繼續向下走:
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004BA04F(C), :004BA05A(C)
|
:004BA040 01DB
add ebx, ebx
:004BA042 7507
jne 004BA04B \\這裡會*向下*跳轉,讓它跳就是了.
:004BA044 8B1E
mov ebx, dword ptr [esi]
:004BA046 83EEFC
sub esi, FFFFFFFC
:004BA049 11DB
adc ebx, ebx
這兩種情況已經明白了吧!那我就省去一些了.
來到這裡
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA177(C)
|
:004BA18A 240F
and al, 0F
:004BA18C C1E010
shl eax, 10
:004BA18F 668B07
mov ax, word ptr [edi]
:004BA192 83C702
add edi, 00000002
:004BA195 EBE2
jmp 004BA179
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA173(C)
|
:004BA197 61
popad 執行到這裡以後看看下面這個跳轉
:004BA198 E9DBEAFCFF jmp 00488C78
//這裡程式便完成來記憶體中的解工作,
將要跳到程式入口點00488C78
然後就來到了這裡:
00488C78 PUSH EBP //在這裡下MAKEPE命令(但我的TRW經常出錯,Why)或是Pedump
00488C79 MOV EBP,ESP 但若你用了Pedump那脫殼後的檔案將不能在其它作業系統和
其它機器上執行!
到trw目錄中,這時看見一個檔案在那兒,這就是我們脫殼後的檔案,執行一下,挺好的!