memory - ollydbg内存断点的原理是什么?

标签 memory breakpoints ollydbg

好像只能设置1个内存断点,而且设置在哪一行似乎并不重要,很奇怪,谁能解释一下吗?

最佳答案

Ollydbg 中的内存断点适用于内存块。请注意,最小可能的 block 通常为 4096 字节(页大小)。您可以从反汇编器 View 中选择一段代码并在其上设置内存断点。您可以在访问或写入时设置内存断点。这是通过使用保护页在内部实现的,保护页使用 PAGE_GUARD 修饰符。当访问内存(读/写)时,会发生STATUS_GUARD_PAGE_VIOLATION异常,该异常由Ollydbg处理。

示例

您希望 Ollydbg 在模块加载到特定地址(或范围)时中断。您可以进入 Ollydbg 中的内存 View ,选择地址范围并在其上设置内存断点。

关于memory - ollydbg内存断点的原理是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771785/

相关文章:

MongoDB:可以将不同的数据库放在不同的驱动器上吗?

debugging - 调试器中的断点如何工作?

windows - Ollydbg(或其他 Windows 调试器)中 GDB 的 "call"的等价物

c# - C#中的VirtualAlloc分配大内存

c++ - 我可以防止对象被 std::memcpy 复制吗?

ios - 每次应用程序启动时,都会从 "_GLOBAL__I_a"触发 "ImageLoaderMachO::doModInitFunctions"异常中断

debugging - 使用 Immunity Debugger 反汇编函数

c++ - olly 调试器找不到引用的文本

c - 在 stringbuffer 对象中手动分配

c++ - QtCreator : breakpoints not working (in debug mode)