首页
社区
课程
招聘
我哪边错了?用Ollydbg手脱Armadillo加壳的DLL
2005-1-5 11:35 3860

我哪边错了?用Ollydbg手脱Armadillo加壳的DLL

2005-1-5 11:35
3860
最近遇到一个用Armadillo加壳DLL的软件,看、练过好久FLY老师的“用Ollydbg手脱Armadillo V3.60加壳的DLL”,那个EdrLib.dll[Armadillo] + UnPacked 例子己经自己搞定,正高兴地脱附件里的那个想练练手时出现的意外情况:
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
注意看BP GetModuleHandleA+5 时的堆栈变化:
            
0006BFA0    00A2C807  返回到 00A2C807 来自 kernel32.GetModuleHandleA
0006BFA4    00A3D6C8  ASCII "kernel32.dll"
0006BFA8    00A3E67C  ASCII "VirtualAlloc"
        
0006BFA0    00A2C824  返回到 00A2C824 来自 kernel32.GetModuleHandleA
0006BFA4    00A3D6C8  ASCII "kernel32.dll"
0006BFA8    00A3E670  ASCII "VirtualFree"
        
0006BD18    00A1799B  返回到 00A1799B 来自 kernel32.GetModuleHandleA
0006BD1C    0006BE54  ASCII "kernel32.dll"//可以返回了 ★
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
在FLY老师的文章中的最后一个可以返回处返回后找不到我要的Magic Jump 了?是我找错返回的地方了吗?找不到OEP。
哪位大侠能帮我分析一下是什么情况,能出个脱文更是感谢啦,让我这个小虾好继续深造啊!附件:mytest.rar

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

收藏
免费 0
打赏
分享
最新回复 (1)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2005-1-5 12:01
2
0
不要有申请脱壳的倾向
如果你找到了教程中例子的Magic Jump
那么这个同样如此

009796FF     FF15 C8B09900      call dword ptr ds:[99B0C8]  ; kernel32.GetModuleHandleA
00979705     8B0D C04C9A00      mov ecx,dword ptr ds:[9A4CC0]
0097970B     89040E             mov dword ptr ds:[esi+ecx],eax
0097970E     A1 C04C9A00        mov eax,dword ptr ds:[9A4CC0]
00979713     393C06             cmp dword ptr ds:[esi+eax],edi
00979716     75 16              jnz short 0097972E
00979718     8D85 B4FEFFFF      lea eax,dword ptr ss:[ebp-14C]
0097971E     50                 push eax
0097971F     FF15 D0B09900      call dword ptr ds:[99B0D0]   ; kernel32.LoadLibraryA
00979725     8B0D C04C9A00      mov ecx,dword ptr ds:[9A4CC0]
0097972B     89040E             mov dword ptr ds:[esi+ecx],eax
0097972E     A1 C04C9A00        mov eax,dword ptr ds:[9A4CC0]
00979733     393C06             cmp dword ptr ds:[esi+eax],edi
00979736     0F84 AD000000      je 009797E9
//Magic Jump  ★
0097973C     33C9               xor ecx,ecx
0097973E     8B03               mov eax,dword ptr ds:[ebx]
00979740     3938               cmp dword ptr ds:[eax],edi
00979742     74 06              je short 0097974A
00979744     41                 inc ecx
00979745     83C0 0C            add eax,0C
00979748     EB F6              jmp short 00979740

输入表需要你想办法修复
100048AD     FF15 C4983800      call dword ptr ds:[3898C4]   ; kernel32.GetVersion
游客
登录 | 注册 方可回帖
返回