【问题标题】:Unable to Pass Exception in Olly Debugger无法在 Olly 调试器中传递异常
【发布时间】:2012-03-22 15:57:58
【问题描述】:

我正在使用 Olly Debugger 调试程序。它在执行时安装一个异常处理程序,如下所示:

push 004010a9
xor eax, eax
push dword ptr fs:[eax]
mov dword ptr fs:[eax], esp

因此,现在安装了位于地址 004010a9 的异常处理程序。

下一条指令触发内存访问冲突,如下所示:

add eax, 40
sub dword ptr ds:[00410000], eax

由于代码没有写入代码段的权限,它会触发内存访问冲突并暂停。

现在,我可以通过按 Shift + F9 将异常传递给程序。

但是,当我按下时,没有任何反应,程序仍处于暂停状态。

此时我的 SEH 链如下图所示:

004010a9 // exception handler installed above
7c839aa8 // final exception handler

我在 Olly Debugger 中的调试选项设置如下:

在异常选项卡下,我只选中了以下选项:

忽略 Kernel32 中的内存访问冲突

我无法理解为什么当我按下 Shift + F9 时程序没有将异常传递给位于 004010a9 的异常处理程序,因为它是当前线程异常处理程序。

谢谢。

【问题讨论】:

    标签: ollydbg seh


    【解决方案1】:

    check mark ignore the following exceptions 和/或范围复选框

    click按钮add last exception

    点击按钮后the list box必须是filled with c0000005 access violation

    press ok.

    ollydbg is now setup 允许将said exception 传递给程序

    shift + f9 will only work 现在要传递另一个异常,说除以 zeor 这个过程必须再次完成

    或者你可以添加一个完整的范围,比如 0 到 ffffffff

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-19
      • 2015-09-18
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-02
      相关资源
      最近更新 更多