首页
社区
课程
招聘
[旧帖] IAT修复这么难啊 0.00雪花
发表于: 2009-5-25 18:29 2892

[旧帖] IAT修复这么难啊 0.00雪花

2009-5-25 18:29
2892
学了几个月了,想试一下手,却遇上骨头啃不动了。
PEID查壳,什么都查不到,FI来也没有
不管它OD载入后停在这
00614010 >  60              pushad
00614011    33C9            xor     ecx, ecx
00614013    8B1D 00406100   mov     ebx, dword ptr [614000]
00614019    031D 08406100   add     ebx, dword ptr [614008]          ;
0061401F    8A0419          mov     al, byte ptr [ecx+ebx]
00614022    84C0            test    al, al
00614024    74 09           je      short 0061402F
00614026    3C C7           cmp     al, 0C7
00614028    74 05           je      short 0061402F
0061402A    34 C7           xor     al, 0C7
0061402C    880419          mov     byte ptr [ecx+ebx], al
0061402F    41              inc     ecx
00614030    3B0D 04406100   cmp     ecx, dword ptr [614004]
00614036  ^ 75 E7           jnz     short 0061401F                               F8下来
00614038    A1 08406100     mov     eax, dword ptr [614008]          ; F4到这
0061403D    0105 0C406100   add     dword ptr [61400C], eax
00614043    61              popad
00614044  - FF25 0C406100   jmp     dword ptr [61400C]                  
大跳转
005B4C10    60              pushad                                   ; 如果在这里dump下来可查到是 UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo

005B4C11    BE 00705300     mov     esi, 00537000                    ; ESP定律
005B4C16    8DBE 00A0ECFF   lea     edi, dword ptr [esi+FFECA000]
005B4C1C    57              push    edi
005B4C1D    83CD FF         or      ebp, FFFFFFFF
005B4C20    EB 10           jmp     short 005B4C32
005B4C22    90              nop
005B4C23    90              nop
005B4C24    90              nop
005B4C25    90              nop
005B4C26    90              nop
005B4C27    90              nop
005B4C28    8A06            mov     al, byte ptr [esi]
005B4C2A    46              inc     esi
005B4C2B    8807            mov     byte ptr [edi], al
005B4C2D    47              inc     edi
005B4C2E    01DB            add     ebx, ebx
005B4C30    75 07           jnz     short 005B4C39
005B4C32    8B1E            mov     ebx, dword ptr [esi]
005B4C34    83EE FC         sub     esi, -4
005B4C37    11DB            adc     ebx, ebx
005B4C39  ^ 72 ED           jb      short 005B4C28
过下面大跳转
005B4D7C  - E9 816FF4FF     jmp     004FBD02                         ; OEP入口
跳转
004FBD02    55              push    ebp                                             dump下来
004FBD03    8BEC            mov     ebp, esp
004FBD05    6A FF           push    -1
004FBD07    68 08955000     push    00509508
004FBD0C    68 36BE4F00     push    004FBE36                         ; jmp 到 msvcrt._except_handler3
004FBD11    64:A1 00000000  mov     eax, dword ptr fs:[0]
004FBD17    50                        push    eax
004FBD18    64:8925 0000000>mov     dword ptr fs:[0], esp
004FBD1F    83EC 20               sub     esp, 20
004FBD22    53              push    ebx
004FBD23    56              push    esi
004FBD24    57              push    edi
004FBD25    8965 E8         mov     dword ptr [ebp-18], esp
004FBD28    8365 FC 00      and     dword ptr [ebp-4], 0
004FBD2C    6A 01           push    1

再查Microsoft Visual C++ 6.0
修复输入表时怎么也不行有400多个指针修复不了,
用CHimpREC可以修复但不能运行

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
终于自己搞定了,是在修复时将oep的值填错了
OEP地址  004FBD02 应填入000FBD02才对的,不过ImportREC.v1.6不能获取RVA的最小地址,必须手工找出来,CHimpREC就可以
2009-5-25 18:53
0
游客
登录 | 注册 方可回帖
返回
//