欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[翻译]使用OllyDbg从零开始Crack 第22章-反调试之UnhandledExceptionFilter,ZwQueryInformationProcess

[翻译]使用OllyDbg从零开始Crack 第22章-反调试之UnhandledExceptionFilter,ZwQueryInformationProcess

标题太长,不能输入,只能强行缩短了,
第22章更新:
本章内容可以结合simonzh2000兄帖中Jeremy Gordon, Hume总结的异常处理顺序来理解
发生异常时系统的处理顺序(by Jeremy Gordon, Hume): 
    1.系统首先判断异常是否应发送给目标程序的异常处理例程,如果决定应该发送,并且目标程序正在被调试,则系统 
    挂起程序并向调试器发送EXCEPTION_DEBUG_EVENT消息.
    2.如果你的程序没有被调试或者调试器未能处理异常,系统就会继续查找你是否安装了线程相关的异常处理例程,如果 
    你安装了线程相关的异常处理例程,系统就把异常发送给你的程序seh处理例程,交由其处理. 
    3.每个线程相关的异常处理例程可以处理或者不处理这个异常,如果他不处理并且安装了多个线程相关的异常处理例程, 
        可交由链起来的其他例程处理. 
    4.如果这些例程均选择不处理异常,如果程序处于被调试状态,操作系统仍会再次挂起程序通知debugger. 
    5.如果程序未处于被调试状态或者debugger没有能够处理,并且你调用SetUnhandledExceptionFilter安装了最后异 
    常处理例程的话,系统转向对它的调用. 
    6.如果你没有安装最后异常处理例程或者他没有处理这个异常,系统会调用默认的系统处理程序,通常显示一个对话框, 
    你可以选择关闭或者最后将其附加到调试器上的调试按钮.如果没有调试器能被附加于其上或者调试器也处理不了,系统 
    就调用ExitProcess终结程序. 
    7.不过在终结之前,系统仍然对发生异常的线程异常处理句柄来一次展开,这是线程异常处理例程最后清理的机会.

前面已翻译章节列表:

[COLOR="Red"][FONT="Arial Black"][SIZE="6"]使用OllyDbg从零开始Cracking[/SIZE][/FONT][/COLOR]

上传的附件 HideDebugger124.7z
hideod.7z
sphynx.7z
使用OllyDbg从零开始Cracking 第二十二章-OllyDbg反调试之UnhandledExceptionFilter,Zw.doc

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功