脫殼----對用pecompact加殼的程式進行手動脫殼 (1千字)

看雪資料發表於2000-07-30

脫殼----對用pecompact加殼的程式進行手動脫殼
前言:偶然發現pecompact升級到1.4b1,拿下來看看有何變化,結果令我很是失望。脫殼方法和以前的版本一樣。在這裡簡單的介紹一下,希望大家對它有個瞭解。
目標檔案:    pecompact(1.4b1).exe
加殼方式:    pecompact
所用工具:    trw2000 v1.22
作者:        iis

1.用trw2000的Loader載入加殼程式。
2.將停在下面的地方,
0167:0041E800  JMP      SHORT 0041E808《――停在這裡
0167:0041E802  PUSH    DWORD 0001E000
0167:0041E807  RET   
0167:0041E808  PUSHF 
0167:0041E809  PUSHA 
0167:0041E80A  CALL    0041E811  《――按f8進入
0167:0041E80F  XOR      EAX,EAX

3.一直按f10,經過三段連續的空指令(nop)
0167:00420147  MOV      EDI,ESI
0167:00420149  ADD      EDI,1000
0167:0042014F  NOP      《――第一段開始
        .
        .
        .
0167:00420246  POP      EDI
0167:00420247  JMP      SHORT 004201D1
0167:00420249  NOP    《――第二段開始
0167:0042024A  NOP         
        .
        .
        .
0167:004202AC  NOP   
0167:004202AD  NOP    《――第二段結束
0167:004202AE  CALL    00420440
0167:004202B3  NOP    《――第三段開始
0167:004202B4  NOP           
        .
        .
        .
0167:0041E000  PUSHF  《――這是個重要標誌
0167:0041E001  PUSHA  《――這是個重要標誌
0167:0041E002  CALL    0041E009  《――執行命令makepe 檔名

好了,脫殼已經成功,我們該做個總結了。下面是我對破殼的一點心得,希望對大家能有幫助,
        用pecompact加殼的程式:
        用trw2000載入後,經過三段連續的空指令(nop)後,發現的 PUSHF,PUSHA 指令後面的呼叫子函式(  call指令),就應該是脫殼的入口了。

相關文章