【问题标题】:Why conditional breakpoint doesn't work in some address in ollydbg?为什么条件断点在 ollydbg 的某些地址中不起作用?
【发布时间】:2022-11-10 16:16:44
【问题描述】:

我将 ollydbg 与 64 位程序一起使用,在某些地址中,条件 bp 像正常 bp 一样工作,例如

LEA RDX,[REL 7FF7_8127B320] 
MOV RCX,QWORD PTR [RSI+3D0]
CALL 00007FF7_80805210

00007FF7_80805210 内部

MOV QWORD PTR [RSP+8],RBX
PUSH RDI
SUB RSP,20
MOV RAX,RDX
MOV R11,R9
.
.
.

在我使用R9==5 将条件bp 设置为MOV R11,R9 之后,它会像普通bp 一样以R9 == 10 或其他值中断。 它发生在调用内部的整个地址中,但是如果我在外部设置条件 bp,例如 MOV RCX,QWORD PTR [RSI+3D0] 和 [RSI+3D0]==19DB0258BD0 或 RSI==19D_730D6DB0 它可以工作。

我在调用中尝试R9 == 00000005 或R9 == 00000000_00000020 或R9 == 12345678 和其他地址但都失败了,条件bp 在执行到该行时都像正常的bp 中断一样工作。

【问题讨论】:

  • 标签说 ollydbg 是32 位调试器,如果相关的话。
  • @WeatherVane 标签说 OllyDbg 是 Ring3,“Win32”调试器,我认为“32”只是一个名称。

标签: assembly x86 x86-64 ollydbg


【解决方案1】:

因为 OllyDbg64 是不完整/冻结的版本。试试 x64dbg。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 2021-09-19
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多