首页
社区
课程
招聘
[求助]这个程序用内存跟踪法能脱壳吗?
发表于: 2011-8-23 19:30 5843

[求助]这个程序用内存跟踪法能脱壳吗?

2011-8-23 19:30
5843
这个程序能用内存跟踪法找到OEP并脱壳吗?求高手指点!
绘图1.zip

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 414
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个壳基本上只要方法存在就能脱;
我不知道内存跟踪法;
有个内存断点法吧知道接近不接近;
先在资源段下断;F9运行;
然后在代码段下断;F9运行;
再跟踪几步就来到OEP了~
2011-8-23 22:11
0
雪    币: 118
活跃值: (106)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
郁闷,我试了怎么就不行啊?你能否截几个图啊?
2011-8-23 22:16
0
雪    币: 414
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你看看你两次中断后是否在下面的代码段?

00638269 8A07 mov al,byte ptr ds:[edi]
0063826B 47 inc edi
0063826C 08C0 or al,al
0063826E ^ 74 DC je short 绘图1.0063824C
00638270 89F9 mov ecx,edi
00638272 79 07 jns short 绘图1.0063827B
00638274 0FB707 movzx eax,word ptr ds:[edi]
00638277 47 inc edi
00638278 50 push eax
00638279 47 inc edi
0063827A B9 5748F2AE mov ecx,AEF24857
0063827F 55 push ebp
00638280 FF96 DC8B2300 call dword ptr ds:[esi+238BDC]
00638286 09C0 or eax,eax
00638288 74 07 je short 绘图1.00638291
0063828A 8903 mov dword ptr ds:[ebx],eax ; MSVBVM60.__vbaStrI2 //第二次断在这里;
0063828C 83C3 04 add ebx,4
0063828F ^ EB D8 jmp short 绘图1.00638269
00638291 FF96 E08B2300 call dword ptr ds:[esi+238BE0]
00638297 61 popad
00638298 - E9 F795DCFF jmp 绘图1.00401894 //这里跳箱OEP
0063829D 0000 add byte ptr ds:[eax],al

2011-8-23 22:45
0
雪    币: 118
活跃值: (106)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
00637000    90              nop
00637001 >  60              pushad                                          第二次断在这
00637002    E8 03000000     call 脱壳前.0063700A
00637007  - E9 EB045D45     jmp 45C074F7
0063700C    55              push ebp
0063700D    C3              retn
0063700E    E8 01000000     call 脱壳前.00637014
00637013    EB 5D           jmp short 脱壳前.00637072
00637015    BB EDFFFFFF     mov ebx,-13
0063701A    03DD            add ebx,ebp
0063701C    81EB 00702300   sub ebx,237000
00637022    83BD 22040000 0>cmp dword ptr ss:[ebp+422],0
00637029    899D 22040000   mov dword ptr ss:[ebp+422],ebx
0063702F    0F85 65030000   jnz 脱壳前.0063739A
00637035    8D85 2E040000   lea eax,dword ptr ss:[ebp+42E]
0063703B    50              push eax
0063703C    FF95 4D0F0000   call dword ptr ss:[ebp+F4D]
00637042    8985 26040000   mov dword ptr ss:[ebp+426],eax
00637048    8BF8            mov edi,eax
0063704A    8D5D 5E         lea ebx,dword ptr ss:[ebp+5E]

我的不是啊?
2011-8-23 22:53
0
雪    币: 414
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这样吧;
你直接在OllyDBG里Ctrl+F搜索popad;
然后在上面下断点;
F9运行;
再F8跟踪几下那个jmp大长跳就跳到OEP了~
可能你的方法还是掌握的不对~
UPX的壳脱壳方法很多;
2011-8-23 22:58
0
雪    币: 118
活跃值: (106)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
谢谢了。我用ESP定理都成功了,其它的都不行。郁闷!
我觉得会不会是OD设置有什么错误啊?我用OD一加载就是下面这样的
7C8112AA    C3              retn
7C8112AB    90              nop
7C8112AC    90              nop
7C8112AD    90              nop
7C8112AE    90              nop
7C8112AF    90              nop
7C8112B0    8BFF            mov edi,edi
7C8112B2    55              push ebp
7C8112B3    8BEC            mov ebp,esp
7C8112B5    83EC 24         sub esp,24
7C8112B8    57              push edi
7C8112B9    6A 07           push 7

。。。。。。
2011-8-23 23:01
0
雪    币: 414
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你每次打开OD应该先Alt+B看一下是否有断点;
有的话删除;
或者从调试--硬件断点看看~有的话全部清除;
2011-8-24 02:25
0
雪    币: 118
活跃值: (106)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
好的,谢谢!
2011-8-24 09:40
0
游客
登录 | 注册 方可回帖
返回
//