-
-
-
[原创]异常处理之异常处理流程原理总结(图文并茂)
-
2019-2-4 17:24
1293
-
-
[原创]异常处理之异常处理流程原理总结(图文并茂)
前言
今天是大年三十,在这里祝福大家新年快乐!
今天我给大家总结一下异常处理的流程,内容很简单,形式主要是以框图+文字说明,逻辑清晰明了,个人的一些学习总结,希望能对大家有所收益。不多说,我们直接看下文。
异常处理流程原理
框架:

备注:
我们可以把这个框图分为两部分解释:左半边的对象一般是软件调试人员,右半边的对象一般是软件开发人员(安装SEH)。用户也属于右边,当用户在运行此程序时,遇到一个异常,如果软件开发人员在设计的时候安装了处理此异常的SEH(需要开发人员自己写,自己安装,不是自带的),则可以进行相应的处理。系统默认异常处理流程则是最后一道防线,在所有的SEH都不起作用时,则会运行此程序,如果解不了,就会报出相应的错误提示(例如:MessageBox弹窗),甚至终止服务(这一点大家平常应该都有体会)。以上只是一些简单的描述,要想理解具体的每一步过程,还需弄懂此框图,下面也有文字说明,以免此图表述不清,结合文字,好好体会
文字说明
上述框图,共分为七种情况:
①系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,没安装,调用系统默认异常处理。
②系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,是,正常服务。
③系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,否,调用系统默认异常处理。
④系统引发一个异常,现处于调试状态,转交给调试器处理,调试器不忽略异常,调用系统默认异常处理。
⑤系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,是,正常服务。
⑥系统引发一个异常,处于非调试状态,检查是否安装SEH,未安装,调用系统默认异常处理。
⑦系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,否,调用系统默认异常处理。
补充:上述的调试器是否忽略异常,则在此处设置。

好啦,关于异常的内容在咱们论坛发表的也很多,初来乍到,平常总结一下所学的东西,对自己也是一个激励,希望大家看一看,也算复习。如果大家想深入了解关于异常的内容,大家可以参考《加密与解密第四版》的第八章内容,讲的很细,感谢看雪论坛。本人刚开始学逆向破解,所学有限,如上要是有什么不对的地方,希望大家给我留言,大家一起交流探讨。难免有错别字的情况,望谅解!
[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!