首页
社区
课程
招聘
[求助]Armadillo 4.2 加壳DLL 脱壳练习求问是否双重壳?
发表于: 2013-10-15 14:07 6972

[求助]Armadillo 4.2 加壳DLL 脱壳练习求问是否双重壳?

2013-10-15 14:07
6972
网上下载的很老的游戏插件.一看加了壳 正好当练习.
按教程脱了半天迷糊了。。找不到OEP。我晕。
请路过的大牛 给我些提示。如果是双重壳,我可没那个实力脱呀。哈哈。

请看我的过程。



OD载入停在EP。

00B60957 >  55              push ebp
00B60958    8BEC            mov ebp,esp
00B6095A    53              push ebx
00B6095B    8B5D 08         mov ebx,dword ptr ss:[ebp+0x8]
00B6095E    56              push esi
00B6095F    8B75 0C         mov esi,dword ptr ss:[ebp+0xC]
00B60962    57              push edi
00B60963    8B7D 10         mov edi,dword ptr ss:[ebp+0x10]
00B60966    85F6            test esi,esi
00B60968    75 09           jnz short For3G.00B60973
00B6096A    833D 7CC6B700 0>cmp dword ptr ds:[0xB7C67C],0x0
00B60971    EB 26           jmp short For3G.00B60999
00B60973    83FE 01         cmp esi,0x1
00B60976    74 05           je short For3G.00B6097D
00B60978    83FE 02         cmp esi,0x2
00B6097B    75 22           jnz short For3G.00B6099F
.....



下断 BP GetModuleHandleA+5   F9
第一次 (堆栈)
0006EDAC  /0006EDE4
0006EDB0  |773D8099  返回到 comctl32.773D8099 来自 kernel32.GetModuleHandleA
0006EDB4  |77372E84  comctl32.77372E84
0006EDB8  |773E0598  comctl32.773E0598

第二次
0006EDF0  /0006EE10
0006EDF4  |773D52E6  返回到 comctl32.773D52E6 来自 kernel32.GetModuleHandleA
0006EDF8  |77372E84  comctl32.77372E84
0006EDFC  |7C823EB7  kernel32.GetProcessHeap
0006EE00  |00084AA8

第三次
000697E8  /0006EB14
000697EC  |00DA5838  返回到 00DA5838 来自 kernel32.GetModuleHandleA
000697F0  |00DB9BAC  ASCII "kernel32.dll"
000697F4  |00DBAE48  ASCII "VirtualAlloc"
000697F8  |7C94A1F3  ntdll.RtlLeaveCriticalSection

第四次
000697E8  /0006EB14
000697EC  |00DA5855  返回到 00DA5855 来自 kernel32.GetModuleHandleA
000697F0  |00DB9BAC  ASCII "kernel32.dll"
000697F4  |00DBAE3C  ASCII "VirtualFree"
000697F8  |7C94A1F3  ntdll.RtlLeaveCriticalSection

第五次
0006954C  /000697EC
00069550  |00D952CA  返回到 00D952CA 来自 kernel32.GetModuleHandleA
00069554  |000696A0  ASCII "kernel32.dll"

取消断点  Alt+F9返回
00D952CA    8B0D 3C1EDC00   mov ecx,dword ptr ds:[0xDC1E3C]
00D952D0    89040E          mov dword ptr ds:[esi+ecx],eax
00D952D3    A1 3C1EDC00     mov eax,dword ptr ds:[0xDC1E3C]
00D952D8    391C06          cmp dword ptr ds:[esi+eax],ebx
00D952DB    75 16           jnz short 00D952F3
00D952DD    8D85 B4FEFFFF   lea eax,dword ptr ss:[ebp-0x14C]
00D952E3    50              push eax
00D952E4    FF15 B842DB00   call dword ptr ds:[0xDB42B8]             ; kernel32.LoadLibraryA
00D952EA    8B0D 3C1EDC00   mov ecx,dword ptr ds:[0xDC1E3C]
00D952F0    89040E          mov dword ptr ds:[esi+ecx],eax
00D952F3    A1 3C1EDC00     mov eax,dword ptr ds:[0xDC1E3C]
00D952F8    391C06          cmp dword ptr ds:[esi+eax],ebx
00D952FB    0F84 2F010000   je 00D95430                              ; Magic JMP
00D95301    33C9            xor ecx,ecx
00D95303    8B07            mov eax,dword ptr ds:[edi]
00D95305    3918            cmp dword ptr ds:[eax],ebx
00D95307    74 06           je short 00D9530F
00D95309    41              inc ecx
00D9530A    83C0 0C         add eax,0xC
00D9530D  ^ EB F6           jmp short 00D95305
00D9530F    8BD9            mov ebx,ecx
00D95311    C1E3 02         shl ebx,0x2

  

00D952FB    0F84 2F010000   je 00D95430    改为 JMP

00D95430    83C7 0C         add edi,0xC
00D95433    89BD 78FDFFFF   mov dword ptr ss:[ebp-0x288],edi
00D95439    83C6 04         add esi,0x4
00D9543C    395F FC         cmp dword ptr ds:[edi-0x4],ebx
00D9543F  ^ 0F85 49FEFFFF   jnz 00D9528E
00D95445    EB 03           jmp short 00D9544A                       ; 这里下断点
00D95447    D6              salc
00D95448    D6              salc
00D95449    8F              ???                                      ; 未知命令

并在00D95445下断点 F9运行 断在00D95445处
取消断点 并还原 刚才做的修改..

接下来 找OEP。。
下断点 BP _set_new_handler

F9一次断下
77B8A9D7 >  8BFF            mov edi,edi                              ; 断在这里  ALT+F9返回 并取消断点
77B8A9D9    55              push ebp
77B8A9DA    8BEC            mov ebp,esp
77B8A9DC    56              push esi
77B8A9DD    6A 04           push 0x4
77B8A9DF    E8 950D0100     call msvcrt._lock
77B8A9E4    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
77B8A9E7    8B35 4038BC77   mov esi,dword ptr ds:[0x77BC3840]



返回到这里
00B4FE90    83C4 04         add esp,0x4
00B4FE93    837D FC 01      cmp dword ptr ss:[ebp-0x4],0x1
00B4FE97    75 0E           jnz short For3G.00B4FEA7
00B4FE99    68 28BFB700     push For3G.00B7BF28
00B4FE9E    FF15 50BFB700   call dword ptr ds:[0xB7BF50]
00B4FEA4    83C4 04         add esp,0x4
00B4FEA7    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
00B4FEAA    8BE5            mov esp,ebp
00B4FEAC    5D              pop ebp
00B4FEAD    C3              retn



F8单步  00B4FEAD retn 返回到
00B4FF1B    8945 FC         mov dword ptr ss:[ebp-0x4],eax
00B4FF1E    837D FC 01      cmp dword ptr ss:[ebp-0x4],0x1
00B4FF22    75 40           jnz short For3G.00B4FF64
00B4FF24    833D 48BFB700 0>cmp dword ptr ds:[0xB7BF48],0x0
00B4FF2B    74 30           je short For3G.00B4FF5D
00B4FF2D    68 6CC1B700     push For3G.00B7C16C
00B4FF32    6A 01           push 0x1
00B4FF34    8B0D 10BFB700   mov ecx,dword ptr ds:[0xB7BF10]          ; For3G.00870000
00B4FF3A    51              push ecx
00B4FF3B    FF15 48BFB700   call dword ptr ds:[0xB7BF48]             ; 这里就是OEP的入口 没错。 F7进入!!
00B4FF41    8945 FC         mov dword ptr ss:[ebp-0x4],eax
00B4FF44    837D FC 00      cmp dword ptr ss:[ebp-0x4],0x0
00B4FF48    75 0C           jnz short For3G.00B4FF56



00B4FF3B 处 F7进入 来到OEP
00B170D1    60              pushad                                   ; OEP???
00B170D2    E8 00000000     call For3G.00B170D7
00B170D7    5D              pop ebp
00B170D8    81ED D7000000   sub ebp,0xD7
00B170DE    8DB5 EE000000   lea esi,dword ptr ss:[ebp+0xEE]
00B170E4    55              push ebp
00B170E5    56              push esi
00B170E6    81C5 FD010000   add ebp,0x1FD
00B170EC    55              push ebp
00B170ED    C3              retn
00B170EE    14 A2           adc al,0xA2
00B170F0  ^ 74 BA           je short For3G.00B170AC
00B170F2    FFF4            push esp



我只能走到此处 我直接这个是OEP 但可能是另一个壳的入口。

请童学们 帮忙啦 跑过的大牛先生 给个提示。

另外附上 这个软件的地址 本程序仅供学习脱壳使用.

腾迅微盘下载地址:   ad3K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4g2J5L8q4)9J5k6h3y4F1i4K6u0r3e0Y4N6$3z5f1I4T1

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶起 ,希望不会沉没
2013-10-15 17:31
0
游客
登录 | 注册 方可回帖
返回