• 标 题:FTPrint的脱壳(asprotect) (2千字)
  • 作 者:henryw
  • 时 间:2001-2-5 10:26:27
  • 链 接:http://bbs.pediy.com

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中,存盘。

  这样应该就可以了。

  由于初学脱壳,文中有不妥之处还请多指教。