首页
社区
课程
招聘
[求助] 之 Acprotect IAT修复
发表于: 2011-8-30 11:01 4963

[求助] 之 Acprotect IAT修复

2011-8-30 11:01
4963
【文章作者】: 红绡枫叶
【保护方式】: ACProtect V1.4X -> risco
【使用工具】: OD,PEID
【操作平台】: WIN 7
--------------------------------------------------------------------------------
【详细过程】
  最近在我电脑上看到一CrackMe,加了 ACProtect V1.4X -> risco(PEID查的),但无奈弄了老半天还没搞定IAT
  我希望那位可以帮帮我,尽量把过程写详细点,好照顾我们这些菜鸟,特别是IAT那部分..我对它是半知半解,看了
  论坛的很多贴子,但并不很懂怎样手工修复,恳求高人帮助。在这里我先说一声谢谢。
  以下是我的过程。。。不知道哪里出错了..诸位看看把:
  
  忽略所有异常,然后在.idata下断点,断下后在代码段.code段下断点就马上到OEP。
  这时候打开ImportREC查找输入表,我晕了,当前输入表:(58 (十进制:88) 个未解决的指针)。
  插件不能修复,跟踪只能修复几个,也许我的操作系统是WIN7的缘故。于是我想手工解决。
  第一个错误的RVA0000C0C8,加上基址:0040c0c8。重载,下命令 hr 0040c0c8。
  运行来到
  004268EA    8B7E 10         MOV EDI,DWORD PTR DS:[ESI+10]
  004268ED    03FA            ADD EDI,EDX
  004268EF    03BD 1BFC4000   ADD EDI,DWORD PTR SS:[EBP+40FC1B]
  004268F5    85DB            TEST EBX,EBX
  004268F7    0F84 62010000   JE Acprotec.00426A5F
  004268FD    F7C3 00000080   TEST EBX,80000000
  00426903    75 1D           JNZ SHORT Acprotec.00426922
  往下走几步:
  0042693B    81E3 FFFFFF0F   AND EBX,0FFFFFFF
  00426941    53              PUSH EBX
  00426942    FFB5 17FC4000   PUSH DWORD PTR SS:[EBP+40FC17]
  00426948    FF95 8CE24100   CALL DWORD PTR SS:[EBP+41E28C]           ; 此处过后寄存器出现函数
  0042694E    3B9D 1FFC4000   CMP EBX,DWORD PTR SS:[EBP+40FC1F]        ; Acprotec.00400000
  00426954    7C 0F           JL SHORT Acprotec.00426965               ; 
  再往下走:
  0042695D    8803            MOV BYTE PTR DS:[EBX],AL
  0042695F    43              INC EBX
  00426960    3803            CMP BYTE PTR DS:[EBX],AL
  00426962  ^ 75 F9           JNZ SHORT Acprotec.0042695D
  这里逐步读取函数名称,再往下:
  0042696D    3B85 9CE24100   CMP EAX,DWORD PTR SS:[EBP+41E29C]        ; USER32.MessageBoxA  可疑
  00426973    74 20           JE SHORT Acprotec.00426995               ; jump
  00426975   |90              NOP
  00426976   |90              NOP
  00426977   |90              NOP
  00426978   |90              NOP
  00426979   |3B85 9D014100   CMP EAX,DWORD PTR SS:[EBP+41019D]        ; jump  可疑
  0042697F   |74 09           JE SHORT Acprotec.0042698A
  这里可疑,再往下走:
  004269EA   /7F 34           JG SHORT Acprotec.00426A20               ; 这里没跳走,EAX里的函数就被加密了
  004269EC   |90              NOP
  004269ED   |90              NOP
  004269EE   |90              NOP
  004269EF   |90              NOP
  004269F0   |8BB5 E4FC4000   MOV ESI,DWORD PTR SS:[EBP+40FCE4]
  004269F6   |53              PUSH EBX
  004269F7   |50              PUSH EAX
  004269F8   |E8 A3B2FFFF     CALL Acprotec.00421CA0
  004269FD   |8BD8            MOV EBX,EAX
  004269FF   |58              POP EAX
  00426A00   |33C3            XOR EAX,EBX
  00426A02   |C606 68         MOV BYTE PTR DS:[ESI],68
  00426A05   |8946 01         MOV DWORD PTR DS:[ESI+1],EAX
  00426A08   |C746 05 8134240>MOV DWORD PTR DS:[ESI+5],243481
  00426A0F   |895E 08         MOV DWORD PTR DS:[ESI+8],EBX
  00426A12   |C646 0C C3      MOV BYTE PTR DS:[ESI+C],0C3
  00426A16   |5B              POP EBX
  00426A17   |8BC6            MOV EAX,ESI
  00426A19   |8385 E4FC4000 0>ADD DWORD PTR SS:[EBP+40FCE4],0D
  我于是重载,把上面的可疑跳转修改之后,在查看ImportREC:
  当前输入表:
  (2 (十进制:2) 个未解决的指针)
   在针对性跟踪,发现这两个指针都是 GetProAddress..但修复后还是无法运行。
   那位能够帮帮我吗?
  
  
  
  
  
  
  
  
--------------------------------------------------------------------------------

                                                       2011年08月30日 10:29:40

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 279
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我猜是你的OEP找错位置了。
你找到是这里吗?  
00404558    53              push    ebx
00404559    8BD8            mov     ebx, eax
0040455B    33C0            xor     eax, eax
0040455D    A3 90A04000     mov     dword ptr [0x40A090], eax
00404562    6A 00           push    0x0
这个程序的OEP被壳偷了不少字节,00404558 是Delphi程序入口的第一个call的地址。
如果没处理被偷的代码,就算是修复的IAT,也肯定是运行不了的。
2011-8-31 11:17
0
雪    币: 421
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
同求学习。。
2011-8-31 14:59
0
雪    币: 421
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
我的指针倒是可以全部休息,就是不晓得,修复后,无错误提示,也无报警。
2011-8-31 15:23
0
游客
登录 | 注册 方可回帖
返回
//