首页
社区
课程
招聘
[求助]关于最后一次异常法的脱壳问题??
发表于: 2008-8-26 20:34 6632

[求助]关于最后一次异常法的脱壳问题??

2008-8-26 20:34
6632
最后一次异常法脱壳的原理时什么??
最好举个脱壳实例!!谢谢!

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
名词真多,我很落后
2008-8-26 20:58
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我郁闷```````我也象楼主问个问题 怎么样破解软件? 原理又是什么?
2008-8-26 21:34
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
其实就是是找SEH句柄
2008-8-26 22:34
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还没说完呢  加上 找到SEH句柄后跳出异常 哈哈`````
2008-8-27 10:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
为什么异常了就能达到脱壳的目的??
2008-8-27 12:53
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
7
我来回答~
首先,我来做个名词解释:“异常”就是“不正常”的意思!
对于加壳的程序来说,正常情况下是没有异常的,换句话说,就是正常情况下是没有不正常的!
而如果你要给这个正常的加壳程序脱壳的话,就是让它不正常了!也就是让它异常了!
反之,即是:异常就能达到脱壳目的了!
明白了不?
2008-8-27 14:49
0
雪    币: 47
活跃值: (37)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
http://www.darkst.com/bbs/viewthread.php?tid=7


定义:
Seh异常就是数结构化异常处理,Win32 结构化异常处理是操作系统提供的一种服务。
好处:
在编译器的 SEH 层减少了直接使用纯操作系统的 SEH 所带来的危害
缺点:
将纯操作系统的 SEH 搞成非透明

当程序遇到Seh异常时,异常交给系统处理(这将是一个非常负责的过程,很容易跟飞),所以利用Seh异常可以一定程度的防止程序被调试。(seh异常在壳里是很常见的)


步骤:
1、 保留所有异常,载入程序。按"SHIFT"+"F9",并开始记数M,直到程序运行。
2、 重新载入程序。按"SHIFT"+"F9"忽略异常M-1次。
3、 查看堆栈窗口中,"SE 句柄"前面的地址。
4、 按"ctrl+g",打开表达式跟随窗口,输入,在堆栈窗口查到的地址。
5、 F2下断,按"SHIFT"+"F9"来到断点处,去掉断点。
6、 在OD的右下角会出现一个SE句柄,按CTRL+G,输入SE 句柄前的地址。
7、 F2下断,SHIFT+F9来到断点处。
8、 去掉断点,F8走到程序的OEP。


原理:
加密壳有反跟踪代码,许多SEH陷阱使OD调试时产生异常,当壳程序执行完毕后,将没有异常。若Shift+F9略过所有异常,并找到最后一次异常处,此刻在恢复异常处(即SE句柄处的地址)下断,OEP即在附近。


优点:
脱加密壳的非常有效
缺点:
1、异常过多容易产生厌烦
2、只适用于加密壳。


最后一次异常法就是躲过这些seh。然后可以比较容易走到oep。
2008-11-8 18:29
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
详尽。
2008-11-11 12:51
0
游客
登录 | 注册 方可回帖
返回
//