首页
社区
课程
招聘
[旧帖] [求助]问个脱壳时的问题 0.00雪花
发表于: 2008-4-8 18:54 3520

[旧帖] [求助]问个脱壳时的问题 0.00雪花

2008-4-8 18:54
3520
我刚开始学脱壳,对于OEP有个不理解的地方,怎么才知道找到OEP了,怎么确定是不是OEP

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
下个 peid0.94 使用插件generic oep finder
可以 看出
2008-4-8 19:33
0
雪    币: 200
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我记得在SFX里有自动跟踪的.....
2008-4-8 21:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
嗯  谢谢告诉我  
  
  不过 如果不利用其他插件呢  

  只用OD
2008-4-8 23:54
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
5
怎么才知道找到OEP了,怎么确定是不是OEP

壳代码在完成解壳流程之后,最后跳入OEP。因此,只要你理解了壳的流程,知道你已经调试到哪里了,自然可以比较好地把握OEP

搜索一下发现了以前的帖子:http://bbs.pediy.com/showthread.php?t=14397
Delphi、VC、VB写的程序,其入口点的代码都是各有特点,脱壳脱得多了,到了OEP一眼就能看出来。
另外,一般压缩壳,在壳代码开始处pushad,而在跳入OEP之前popad,恢复堆栈和寄存器环境,也可以由这个来判断。
另外,一些壳的OEP与壳代码的分界没有那么明显,比如在上面这个帖子里,fly就说到AsProtect会会Stolen OEP Code,也就是把原OEP处的前几行代码剪切到壳程序的最后,跑过这几行代码之后,才跳回OEP后的部分,这种情况下脱壳时就必须把这几行代码补回到前面去,等等。

使用插件generic oep finder,或者在SFX中以字节跟踪,能够成功都是有前提的(实际上等于工具帮你自动脱了壳了),在面对未知壳时,当然不能假设在脱壳前就能得到OEP的确切位置。

因此,fly的那句话很对,应该先从简单的开始,循序渐进。
2008-4-9 00:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

    有点明白了     谢了
2008-4-9 13:00
0
游客
登录 | 注册 方可回帖
返回
//