首页
社区
课程
招聘
[讨论]脱壳是在循环函数中完成的怎么找到OEP??
发表于: 2007-9-5 08:39 4127

[讨论]脱壳是在循环函数中完成的怎么找到OEP??

2007-9-5 08:39
4127
00404FD9   > /8B45 FC       mov     eax, dword ptr [ebp-4]
00404FDC   . |8B04D8        mov     eax, dword ptr [eax+ebx*8]
00404FDF   . |8945 F8       mov     dword ptr [ebp-8], eax
00404FE2   . |43            inc     ebx
00404FE3   . |895F 0C       mov     dword ptr [edi+C], ebx
00404FE6   . |837D F8 00    cmp     dword ptr [ebp-8], 0         ;  以上计算间接跳转地址
00404FEA   . |74 03         je      short 00404FEF
00404FEC   . |FF55 F8       call    dword ptr [ebp-8]                ;  循环Call
00404FEF   > |3BF3          cmp     esi, ebx
00404FF1   .^\7F E6         jg      short 00404FD9
上面这个循环dword ptr[ebp-8]保存着计算后的间接函数跳转地址,整个循环进行了0x144次,其中脱壳和恢复IAT是在第0xAF次进行。当我从脱壳函数返回后,如何寻找真正的OEP呢?是不是下一个循环(0xB0)的入口地址就是OEP。想了好久不得其法,请高手指教,小弟在这里拜谢了。

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
2
这个是delphi的
你已经过了oep
处在oep下面的第一个call
2007-9-5 08:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=shoooo;355739]这个是delphi的
你已经过了oep
处在oep下面的第一个call[/QUOTE]
确实是Delphi的,这么短一段代码也能看出来。。。
shooo说的call是指调用代码所在的Call还是循环中的某一个call?太谢谢你的指点了。
2007-9-5 09:14
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
4
是的, 这段是在循环call 初始化表
2007-9-5 09:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
请问能加你的QQ讨论一下么?我的QQ是45116365。谢谢你。
2007-9-5 09:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果QQ不方便的话我的MSN:littlefang@126.com
2007-9-5 09:59
0
游客
登录 | 注册 方可回帖
返回
//