首页
社区
课程
招聘
[旧帖] [求助]脱Armadillo 1.xx - 2.xx 壳遇到问题,希望可以得到帮助。 0.00雪花
发表于: 2011-7-10 17:57 1253

[旧帖] [求助]脱Armadillo 1.xx - 2.xx 壳遇到问题,希望可以得到帮助。 0.00雪花

2011-7-10 17:57
1253
PEID查壳为Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks

OD载入,隐藏OD,忽略所有异常
he GetModuleHandleA,shift+F9,程序断在下面的地方

7C80B731 >  8BFF            mov     edi, edi                         ; ntdll.7C930208
7C80B733    55              push    ebp
7C80B734    8BEC            mov     ebp, esp
7C80B736    837D 08 00      cmp     dword ptr [ebp+8], 0
7C80B73A    74 18           je      short 7C80B754                      //F2下断
7C80B73C    FF75 08         push    dword ptr [ebp+8]
7C80B73F    E8 C0290000     call    7C80E104
7C80B744    85C0            test    eax, eax
7C80B746    74 08           je      short 7C80B750
7C80B748    FF70 04         push    dword ptr [eax+4]
7C80B74B    E8 7D2D0000     call    GetModuleHandleW
7C80B750    5D              pop     ebp
7C80B751    C2 0400         retn    4
7C80B754    64:A1 18000000  mov     eax, dword ptr fs:[18]
7C80B75A    8B40 30         mov     eax, dword ptr [eax+30]
7C80B75D    8B40 08         mov     eax, dword ptr [eax+8]
7C80B760  ^ EB EE           jmp     short 7C80B750

取消硬件断点,在7C80B73A处F2下断,shift+F9,运行到此处

堆栈窗口
0012FF34  /0012FFC0
0012FF38  |004A3D0B  返回到 DX游戏通.<模块入口点>+0C8 来自 kernel32.GetModuleHandleA
0012FF3C  |00000000
0012FF40  |00000000
0012FF44  |00161F41
0012FF48  |0000000A
0012FF4C  |7C930208  ntdll.7C930208

继续shift+F9
堆栈窗口

0012EE78  /0012EEB0
0012EE7C  |77C079B2  返回到 msvcrt.77C079B2 来自 kernel32.GetModuleHandleA
0012EE80  |77BE31BC  ASCII "kernel32.dll"
0012EE84  |77C31A70  msvcrt.77C31A70
0012EE88  |00000000
0012EE8C  |77BEF2A1  msvcrt.<模块入口点>
0012EE90  |001637B8
0012EE94  |0012EEBC
0012EE98  |0012EE84
0012EE9C  |C0000100
0012EEA0  |0012F088  指向下一个 SEH 记录的指针
0012EEA4  |77C05C94  SE处理程序

继续shift+F9
堆栈窗口

0012EF20  /0012EF3C
0012EF24  |77F45CD0  返回到 77F45CD0 来自 kernel32.GetModuleHandleA
0012EF28  |77F4501C  ASCII "KERNEL32.DLL"
0012EF2C  |00000001
0012EF30  |77F40000
0012EF34  |00000000
0012EF38  |0000380B

继续shift+F9
堆栈窗口

0012F738  /0012F7A0
0012F73C  |0048E8F3  返回到 DX游戏通.0048E8F3 来自 kernel32.GetModuleHandleA
0012F740  |00000000
0012F744  |0000FFFF

继续shift+F9
堆栈窗口

00129524  /0012EC6C
00129528  |00B47105  返回到 00B47105 来自 kernel32.GetModuleHandleA
0012952C  |00B5BC1C  ASCII "kernel32.dll"
00129530  |00B5CEC4  ASCII "VirtualAlloc"
00129534  |00B5FA98
00129538  |7C9210E0  ntdll.RtlLeaveCriticalSection

继续shift+F9
堆栈窗口

00129524  /0012EC6C
00129528  |00B47122  返回到 00B47122 来自 kernel32.GetModuleHandleA
0012952C  |00B5BC1C  ASCII "kernel32.dll"
00129530  |00B5CEB8  ASCII "VirtualFree"
00129534  |00B5FA98
00129538  |7C9210E0  ntdll.RtlLeaveCriticalSection

继续shift+F9
堆栈窗口

00129288  /00129528
0012928C  |00B35FC9  返回到 00B35FC9 来自 kernel32.GetModuleHandleA
00129290  |001293DC  ASCII "kernel32.dll"

取消断点,ALT+F9返回

00B35FC9    8B0D AC40B600   mov     ecx, dword ptr [B640AC]
00B35FCF    89040E          mov     dword ptr [esi+ecx], eax
00B35FD2    A1 AC40B600     mov     eax, dword ptr [B640AC]
00B35FD7    391C06          cmp     dword ptr [esi+eax], ebx
00B35FDA    75 16           jnz     short 00B35FF2
00B35FDC    8D85 B4FEFFFF   lea     eax, dword ptr [ebp-14C]
00B35FE2    50              push    eax
00B35FE3    FF15 BC62B500   call    dword ptr [B562BC]               ; kernel32.LoadLibraryA
00B35FE9    8B0D AC40B600   mov     ecx, dword ptr [B640AC]
00B35FEF    89040E          mov     dword ptr [esi+ecx], eax
00B35FF2    A1 AC40B600     mov     eax, dword ptr [B640AC]
00B35FF7    391C06          cmp     dword ptr [esi+eax], ebx
00B35FFA    0F84 2F010000   je      00B3612F      //Magic跳,修改为jmp
00B36000    33C9            xor     ecx, ecx
00B36002    8B07            mov     eax, dword ptr [edi]
00B36004    3918            cmp     dword ptr [eax], ebx
00B36006    74 06           je      short 00B3600E
00B36008    41              inc     ecx
00B36009    83C0 0C         add     eax, 0C
00B3600C  ^ EB F6           jmp     short 00B36004

00B35FFA处为Magic跳,修改为jmp,打开内存映像,在00401000处下断,shift+F9,然后程序没有到达OEP,而是停在了下面的位置:

0044C0AD    AA              stos    byte ptr es:[edi]                ; (initial cpu selection)
0044C0AE    60              pushad
0044C0AF    FF3424          push    dword ptr [esp]
0044C0B2    9C              pushfd
0044C0B3    B3 02           mov     bl, 2
0044C0B5    53              push    ebx
0044C0B6    E9 94660100     jmp     0046274F
0044C0BB    41              inc     ecx
0044C0BC    44              inc     esp
0044C0BD    56              push    esi
0044C0BE    41              inc     ecx
0044C0BF    50              push    eax
0044C0C0    49              dec     ecx
0044C0C1    3332            xor     esi, dword ptr [edx]
0044C0C3    2E:             prefix cs:
0044C0C4    64:6C           ins     byte ptr es:[edi], dx
0044C0C6    6C              ins     byte ptr es:[edi], dx
0044C0C7    000A            add     byte ptr [edx], cl
0044C0C9    0AD2            or      dl, dl
0044C0CB    875B 2A         xchg    dword ptr [ebx+2A], ebx
0044C0CE    C687 F6AB5EFE D>mov     byte ptr [edi+FE5EABF6], 0D3
0044C0D5  - E9 24185400     jmp     0098D8FE
0044C0DA    EC              in      al, dx
0044C0DB    6B33 83         imul    esi, dword ptr [ebx], -7D
0044C0DE    0B74C4 B2       or      esi, dword ptr [esp+eax*8-4E]
0044C0E2    6E              outs    dx, byte ptr es:[edi]
0044C0E3    37              aaa
0044C0E4    A0 68851034     mov     al, byte ptr [34108568]
0044C0E9    C9              leave
0044C0EA    BF F54323D5     mov     edi, D52343F5
0044C0EF    EF              out     dx, eax
0044C0F0    C9              leave
0044C0F1    234A 98         and     ecx, dword ptr [edx-68]
0044C0F4    ED              in      eax, dx
0044C0F5    B2 52           mov     dl, 52
0044C0F7    A9 FC0F640E     test    eax, 0E640FFC
0044C0FC    95              xchg    eax, ebp
0044C0FD    F695 6A85FF84   not     byte ptr [ebp+84FF856A]
0044C103    50              push    eax
0044C104    93              xchg    eax, ebx
0044C105    0C BB           or      al, 0BB
0044C107    3E:889B 34056E2>mov     byte ptr [ebx+2E6E0534], bl
0044C10E    27              daa
0044C10F    A3 1F01E398     mov     dword ptr [98E3011F], eax
0044C114  ^ E3 FD           jecxz   short 0044C113
0044C116  ^ 72 E9           jb      short 0044C101
0044C118    CB              retf
0044C119    44              inc     esp
0044C11A    5E              pop     esi
0044C11B    D9              ???                                      ; 未知命令

个人技术比较差,不知道这是什么情况,该怎么处理,希望大家能帮助一下,或者帮忙指明一下是什么样的问题,谢谢大家!附件在下面,谢谢大家!
DX游戏通用窗口化工具.part1.rar

DX游戏通用窗口化工具.part2.rar

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 970
活跃值: (1234)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
抛文件上来瞅瞅~
2011-7-10 19:22
0
雪    币: 53
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
已经把这个传上去了,谢谢!
2011-7-10 21:23
0
游客
登录 | 注册 方可回帖
返回
//