首页
社区
课程
招聘
[求助]第11章 异常处理
2012-4-5 10:56 10338

[求助]第11章 异常处理

2012-4-5 10:56
10338
我用od加载第11章的seh.exe程序,然后将OD的调试选项中异常页面中的忽略非法访问内存选项去掉,然后F9。可是程序断不下来。。。
请问怎么回事呀~

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 166
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
地精锁匠 2012-4-5 16:00
2
0
因为触发xor eax,eax     mov dword ptr [eax],0异常后,SEH会首先收到这个异常,然后会处理这个异常,所以OD作为调试器是收不到这个异常的。如果你有罗云彬老师的《Windows环境下32位汇编语言程序设计》的话,请阅读519页,那里有异常触发后的处理顺序。
雪    币: 27
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhiyajun 2012-4-5 17:54
3
0
[QUOTE=地精锁匠;1060797]因为触发xor eax,eax     mov dword ptr [eax],0异常后,SEH会首先收到这个异常,然后会处理这个异常,所以OD作为调试器是收不到这个异常的。如果你有罗云彬老师的《Windows环境下32位汇编语言程序设计》的话,请阅读519页,那里有异常触发后的处理顺序。[/QUOTE]

谢谢,不过《加密与解密——第三版》的307页也有SEH的处理过程。上面说:如果程序处于被调试状态的话,系统挂起程序,并向调试器发送EXCEPTION_DEBUG_EVENT消息,剩下的事情就由调试器全权负责了。

从这句话看来,应该是调试器先获得异常处理权呀。。。
雪    币: 166
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
地精锁匠 2012-4-6 09:22
4
0
按书上说的,是调试器首先获得权限,但是OD是不会去处理访问异常的,所以系统就交给SEH去处理。
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhouxixixi 2013-4-19 20:21
5
0
换个OD试试。我测试成功过
游客
登录 | 注册 方可回帖
返回