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中,存檔。
這樣應該就可以了。
由於初學脫殼,文中有不妥之處還請多指教。