加壳脱壳工具:手动脱壳的教程(由petite v2.2加壳)

  虽然已经有petite v2.2脱壳机但我认为手动脱壳是个cracker必须掌握基本技能的有必要学习ImportREC重建IAT窍门技巧

  就拿embird[bcg]在论坛贴问题做例子吧!

  工具:trw2000,ImportREC v1.3冲击波2000

  找OEP

  很简单用冲击波2000可看到OEP在426F67处

   2保存主

  在426F67处设断点中断后下命令:“makepe c:dump.exe”

   3重建IAT

  下命令“suspend”挂起进程回到window运行ImportREC选ReadBook.exe

  输入OEP(4526f67-40000 = 26f67)

  "IAT AutoSearch"可得到IAT但还有些指针未解决点击“Get Import”“AUTO TRACE”后全部解决

  “fix dump”后生成dump_.exe运行它非法操作用trw2000跟踪找到非法操作地方:

017F:0044DCF4 33DB XOR EBX,EBX
017F:0044DCF6 385814 CMP [EAX+14],BL
017F:0044DCF9 7409 JZ 0044DD04
017F:0044DCFB 838E14010000FF OR DWORD [ESI+0114],BYTE -01
017F:0044DD02 EB63 JMP SHORT 0044DD67
017F:0044DD04 53 PUSH EBX
017F:0044DD05 FF15FC364500 CALL [4536FC] <----这是非法操作地方
017F:0044DD0B 3BC3 CMP EAX,EBX
017F:0044DD0D 7D0A JNL 0044DD19
017F:0044DD0F 53 PUSH EBX
017F:0044DD10 E863000000 CALL 0044DD78
  查看[4536FC]内容发现该地址指向ole32.dll看来ImportREC并没有完全修复IAT重新运行ImportREC

  输入OEP点击"IAT AutoSearch"发现默认RVA是:00052FFCSize是00000394

  但是00052FFC+00000394=53390小于4536FC!原来petite 外壳欺骗了ImportREC使它得不到完全IAT

  那么我们就手动输入个范围给它我把Size改为00000709加大查找范围

  (00000709是个经验值可以自己试出来)"Get Import"“AUTO TRACE”后还有个指针未解决它指向Cxxxxxxx不太合理而且也位使用它那就随便给它名吧(我选GetTickCount)“fix dump”后再次生成dump_.exe

  这样dump_.exe可以运行了但还有暗桩:

017F:00417CE6 C6470165 MOV BYTE [EDI+01],65
017F:00417CEA FF75F0 PUSH DWORD [EBP-10]
017F:00417CED FF75D8 PUSH DWORD [EBP-28]
017F:00417CF0 FF75E8 PUSH DWORD [EBP-18]
017F:00417CF3 E8BB060000 CALL 004183B3 <-----此call是暗桩F8进入
017F:00417CF8 83C40C ADD ESP,BYTE +0C
017F:00417CFB 85C0 TEST EAX,EAX
017F:00417CFD 0F8516010000 JNZ NEAR 00417E19
017F:00417D03 53 PUSH EBX
017F:00417D04 53 PUSH EBX
017F:004183B3 FF742408 PUSH DWORD [ESP+08]
017F:004183B7 FF742408 PUSH DWORD [ESP+08]
017F:004183BB E80CF1FFFF CALL 004174CC <-----F8进入
017F:004183C0 2B442414 SUB EAX,[ESP+14]
017F:004183C4 59 POP ECX
017F:004183C5 59 POP ECX
017F:004183C6 F7D8 NEG EAX
017F:004183C8 1BC0 SBB EAX,EAX
017F:004183CA 40 INC EAX
017F:004183CB C3 RET
017F:004174CC 8B4C2408 MOV ECX,[ESP+08] ----------+
017F:004174D0 83C8FF OR EAX,BYTE -01 |
017F:004174D3 8BD1 MOV EDX,ECX |
017F:004174D5 49 DEC ECX |
017F:004174D6 85D2 TEST EDX,EDX |
017F:004174D8 7423 JZ 004174FD |
017F:004174DA 56 PUSH ESI |
017F:004174DB 8D5101 LEA EDX,[ECX+01] | 典型crc32
017F:004174DE 8B4C2408 MOV ECX,[ESP+08] |
017F:004174E2 57 PUSH EDI |
017F:004174E3 0FB631 MOVZX ESI,BYTE [ECX] |
017F:004174E6 0FB6F8 MOVZX EDI,AL |
017F:004174E9 33F7 XOR ESI,EDI |
017F:004174EB C1E808 SHR EAX,08 |
017F:004174EE 8B34B590594600 MOV ESI,[ESI*4+00465990] |
017F:004174F5 33C6 XOR EAX,ESI |
017F:004174F7 41 INC ECX |
017F:004174F8 4A DEC EDX |
017F:004174F9 75E8 JNZ 004174E3 ---------------|
017F:004174FB 5F POP EDI
017F:004174FC 5E POP ESI
Tags:  加壳免杀 加壳软件 加壳工具 加壳脱壳工具

延伸阅读

最新评论

发表评论