首页
论坛
专栏
课程

[原创]异常处理之异常处理流程原理总结(图文并茂)

2019-2-4 17:24 2125

[原创]异常处理之异常处理流程原理总结(图文并茂)

2019-2-4 17:24
2125

前言

    今天是大年三十,在这里祝福大家新年快乐!

今天我给大家总结一下异常处理的流程,内容很简单,形式主要是以框图+文字说明,逻辑清晰明了,个人的一些学习总结,希望能对大家有所收益。不多说,我们直接看下文。

异常处理流程原理

框架:
 

备注:

我们可以把这个框图分为两部分解释:左半边的对象一般是软件调试人员,右半边的对象一般是软件开发人员(安装SEH)。用户也属于右边,当用户在运行此程序时,遇到一个异常,如果软件开发人员在设计的时候安装了处理此异常的SEH(需要开发人员自己写,自己安装,不是自带的),则可以进行相应的处理。系统默认异常处理流程则是最后一道防线,在所有的SEH都不起作用时,则会运行此程序,如果解不了,就会报出相应的错误提示(例如:MessageBox弹窗),甚至终止服务(这一点大家平常应该都有体会)。以上只是一些简单的描述,要想理解具体的每一步过程,还需弄懂此框图,下面也有文字说明,以免此图表述不清,结合文字,好好体会

文字说明

上述框图,共分为七种情况:

①系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,没安装,调用系统默认异常处理。
②系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,是,正常服务。
③系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,否,调用系统默认异常处理。
④系统引发一个异常,现处于调试状态,转交给调试器处理,调试器不忽略异常,调用系统默认异常处理。
⑤系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,是,正常服务。
⑥系统引发一个异常,处于非调试状态,检查是否安装SEH,未安装,调用系统默认异常处理。
⑦系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,否,调用系统默认异常处理。

 

补充:上述的调试器是否忽略异常,则在此处设置。

 

好啦,关于异常的内容在咱们论坛发表的也很多,初来乍到,平常总结一下所学的东西,对自己也是一个激励,希望大家看一看,也算复习。如果大家想深入了解关于异常的内容,大家可以参考《加密与解密第四版》的第八章内容,讲的很细,感谢看雪论坛。本人刚开始学逆向破解,所学有限,如上要是有什么不对的地方,希望大家给我留言,大家一起交流探讨。难免有错别字的情况,望谅解!



[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

打赏 + 1.00
打赏次数 1 金额 + 1.00
收起 
赞赏  junkboy   +1.00 2019/02/05
最新回复 (7)
scihkimo 2019-2-4 17:29
2
0
謝分享
白菜大哥 2019-2-4 22:15
3
0
谢谢分享。
killpy 2 2019-2-9 10:41
4
0
系统默认异常处理是啥
hzqst 3 2019-2-9 12:24
5
0
killpy 系统默认异常处理是啥
顶层异常处理 以及通知csrss 结束进程之类的
killpy 2 2019-2-11 08:13
6
0
hzqst 顶层异常处理 以及通知csrss 结束进程之类的
我记得好像有个二次 询问 
五天 2019-2-11 16:02
7
0
懒的时间 2019-2-17 05:44
8
0
二次分发以后,调用默认处理
游客
登录 | 注册 方可回帖
返回