首页
社区
课程
招聘
[旧帖] [讨论]themida 1.0.0.5 -> Oreans Technologies [Overlay] 0.00雪花
发表于: 2008-2-22 22:34 3917

[旧帖] [讨论]themida 1.0.0.5 -> Oreans Technologies [Overlay] 0.00雪花

2008-2-22 22:34
3917
目标程序:aaa.exe,用VC++ 6.0 语言写的程序
peid检测壳:themida 1.0.0.5 -> Oreans Technologies [Overlay]
使用脚本:THEMIDA脚本(for IAT restore)

脚本运行后停在
004DA12D   ?  6A 02         push    2
004DA12F   ?  FF15 28AF4E00 call    dword ptr [4EAF28]               ;  msvcrt.__set_app_type
004DA135   .  59            pop     ecx
004DA136   .  830D C8006300>or      dword ptr [6300C8], FFFFFFFF
004DA13D   .  830D CC006300>or      dword ptr [6300CC], FFFFFFFF
004DA144   .  FF15 24AF4E00 call    dword ptr [4EAF24]               ;  msvcrt.__p__fmode
004DA14A   .  8B0D BC006300 mov     ecx, dword ptr [6300BC]
004DA150   .  8908          mov     dword ptr [eax], ecx
004DA152   .  FF15 20AF4E00 call    dword ptr [4EAF20]               ;  msvcrt.__p__commode
004DA158   .  8B0D B8006300 mov     ecx, dword ptr [6300B8]
004DA15E   .  8908          mov     dword ptr [eax], ecx
004DA160   .  A1 1CAF4E00   mov     eax, dword ptr [4EAF1C]
004DA165   .  8B00          mov     eax, dword ptr [eax]
004DA167   .  A3 C4006300   mov     dword ptr [6300C4], eax
004DA16C   .  E8 58010000   call    004DA2C9
004DA171   .  391D D8545200 cmp     dword ptr [5254D8], ebx
004DA177   .  75 0C         jnz     short 004DA185
004DA179   .  68 C6A24D00   push    004DA2C6
004DA17E   .  FF15 18AF4E00 call    dword ptr [4EAF18]               ;  msvcrt.__setusermatherr
004DA184   .  59            pop     ecx
004DA185   >  E8 24010000   call    004DA2AE
004DA18A   .  68 14945100   push    00519414
004DA18F   .  68 10945100   push    00519410
004DA194   .  E8 0F010000   call    004DA2A8                         ;  jmp 到 msvcrt._initterm
004DA199   .  A1 B4006300   mov     eax, dword ptr [6300B4]

OEP的代码被抽取了

堆栈
0012FEFC   FFF82834             ⑹
0012FF00   00000006             ⑸
0012FF04   00000000            ⑷
0012FF08   FAAF7CFA
0012FF0C   00000014
0012FF10   00000001
0012FF14   00000000
0012FF18   00000000
0012FF1C   00000010
0012FF20   00000000
0012FF24   00000000
0012FF28   00000000
0012FF2C   00000073
0012FF30   008F70E7  mir3adva.008F70E7
0012FF34   FFF82834
0012FF38   00000006
0012FF3C   FA601ED2
0012FF40   0012FF54
0012FF44   00000000
0012FF48   00000000
0012FF4C   1379BD17
0012FF50   FA601ED2
0012FF54   008DA8C2  mir3adva.008DA8C2
0012FF58   007A5F80  返回到 mir3adva.007A5F80 来自 mir3adva.007A5F80
0012FF5C   FFF82834
0012FF60   00000006
0012FF64   00000000
0012FF68   0012FEFC
0012FF6C   00000000
0012FF70   0012FF9C  指向下一个 SEH 记录的指针 ⑶
0012FF74   004DA284  SE处理程序                  ⑵
0012FF78   004FEE18  aaa.004FEE18                     ⑴
0012FF7C   00000000
0012FF80   00000000
0012FF84   FA601ED2

寄存器
EAX 0012FF9C
ECX 1379BD17
EDX 00000000
EBX 00000000
ESP 0012FEFC
EBP 0012FF80
ESI 00000006
EDI FFF82834
EIP 004DA12D aaa.004DA12D

补上oep代码后
004DA102      55            push    ebp
004DA103      8BEC          mov     ebp, esp
004DA105      6A FF         push    -1
004DA107      68 18EE4F00   push    004FEE18                   ⑴      
004DA10C      68 84A24D00   push    004DA284                  ⑵       ;  jmp 到 msvcrt._except_handler3
004DA111      64:A1 0000000>mov     eax, dword ptr fs:[0]
004DA117      50            push    eax                                    ⑶
004DA118      64:8925 00000>mov     dword ptr fs:[0], esp
004DA11F      83EC 68       sub     esp, 68
004DA122      53            push    ebx                                   ⑷
004DA123      56            push    esi                                    ⑸
004DA124      57            push    edi                                   ⑹
004DA125      8965 E8       mov     dword ptr [ebp-18], esp
004DA128      33DB          xor     ebx, ebx
004DA12A      895D FC       mov     dword ptr [ebp-4], ebx
004DA12D   ?  6A 02         push    2
004DA12F   ?  FF15 28AF4E00 call    dword ptr [4EAF28]               ;  msvcrt.__set_app_type
004DA135   .  59            pop     ecx
004DA136   .  830D C8006300>or      dword ptr [6300C8], FFFFFFFF
004DA13D   .  830D CC006300>or      dword ptr [6300CC], FFFFFFFF
004DA144   .  FF15 24AF4E00 call    dword ptr [4EAF24]               ;  msvcrt.__p__fmode
004DA14A   .  8B0D BC006300 mov     ecx, dword ptr [6300BC]

堆栈⑴⑵⑶⑷⑸⑹处同程序⑴⑵⑶⑷⑸⑹的push语句对应。
改oep为004DA102,dump,
用ImportREC_fix_hh.exe重建iat:oep=da102 自动查找iat,找到的输入函数全部有效。
但是程序运行时出错:应用程序正常初始化(0xc00000005)失败。

请各位指教!!!!!!!!!!!!!!

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回