FTPrint的脫殼(asprotect) (2千字)

看雪資料發表於2001-02-05

FTPrint的脫殼(asprotect)

小弟只是菜鳥一個,看了冰毒的AZPR3.0脫殼的文章,還有hying對於HTMLZip脫殼寫的文章,受益匪淺,先拿Advanced Registry Tracer做了實驗(Ken寫過脫殼的方法),然後拿來了FTPrint這個軟體,獨立戰鬥,結果成功。(軟體在哪裡下載的我不記得了,估計在華軍主頁上吧)

不過,仍有不明白的地方。就是hying兄使用的imp_list.exe在這個軟體中似乎dump不出正確的.idata,如果哪位兄臺成功了,請告知詳細方法。

軟體介紹:
_________

    一般列印都是在圖形模式下,而FTPrint可以在文字模式下列印,這樣列印更加快速,更加省墨,特別是對於噴墨列印而言。

加殼:
_____

    asprotect 1.00 (FI檢測)

使用工具:
_________

TRW2000
PE-Editor
衝擊波2000
HEX WORKSHOP

過程:
_____

1. 使用衝擊波2000探測入口,在46B8AC。
2. PE-Editor檢視Section,.idata的Virtual Size=3000,Virtual Offset=77000,ImageBase=400000。
3. 用TRW2000載入FTPrint.exe,
(1)g 46B8AC,
(2)pedump h.exe
4. 執行FTPrint,退出,然後再Load FTPrint。
  [以下借用冰毒在其文AZPR3.0的脫殼中的方法,文見看雪兄的論壇精華II]
  下bpm 477000 (Virtual Offset + ImageBase),在3次g後用F10追,直到
016F:004E8369 50              PUSH    EAX
016F:004E836A B894764E00      MOV      EAX,004E7694
016F:004E836F 50              PUSH    EAX
016F:004E8370 B8A8764E00      MOV      EAX,004E76A8
016F:004E8375 50              PUSH    EAX
016F:004E8376 6A00            PUSH    BYTE +00
016F:004E8378 B8B0764E00      MOV      EAX,004E76B0
016F:004E837D 50              PUSH    EAX
016F:004E837E B830A54D00      MOV      EAX,004DA530
016F:004E8383 50              PUSH    EAX
016F:004E8384 8B4508          MOV      EAX,[EBP+08]
016F:004E8387 8B4020          MOV      EAX,[EAX+20]
016F:004E838A 50              PUSH    EAX
016F:004E838B 8B4508          MOV      EAX,[EBP+08]
016F:004E838E 8D4824          LEA      ECX,[EAX+24]
016F:004E8391 8B4508          MOV      EAX,[EBP+08]
016F:004E8394 8B500C          MOV      EDX,[EAX+0C]
016F:004E8397 8B4508          MOV      EAX,[EBP+08]
016F:004E839A 8B4008          MOV      EAX,[EAX+08]
016F:004E839D E8FEF4FFFF      CALL    004E78A0
016F:004E83A2 33C0            XOR      EAX,EAX  <-------- RET在這裡,dump .idata
    TRW2000為w 477000 l 3000 idata.bin(檔名字自己定的)
5. 執行FTPrint,退出,關閉TRW2000。

以下為修復PE:
6. PE-Editor開啟h.exe,Directory按鈕,改Import Table的RVA為77000,Size為3000。退出PE-Editor。
7. Hex Workshop開啟h.exe,go到77000,選定Block為3000,然後再開啟idata.bin(乾淨的import table),選定Block為3000,複製,貼上到開啟的h.exe中,存檔。

  這樣應該就可以了。

  由於初學脫殼,文中有不妥之處還請多指教。

相關文章