• OD断点和命令


    BP 表达式 [,条件] 在指定地址设置 INT3 断点 BP EAX+10BP 410010, EAX==WM_CLOSEBP Kernel32.GetProcAddress
    BPX
    标签 在当前模块每一个对外部标签的调用设置断点 BPX CreateFileA
    BC
    表达式 删除指定地址的断点 BC 410010
    MR
    表达式1 [,表达式2] 设置指定范围的内存访问断点 
    MW
    表达式1 [,表达式2] 设置指定范围的内存写断点Set 
    MD
    移除内存断点 
    HR
    表达式 设置1字节的硬断点,当访问该地址时中断 
    HW
    表达式 设置1字节的硬断点,当写该地址时中断 
    HE
    表达式 设置硬断点,当执行该地址时中断 
    HD [
    表达式] 移除指定地址处的硬断点

    附内存中断小结:
    OD
    中内存断点小结
    内存, 小结, 断点
    0040EE67      90                 nop                              //
    假设此处为EIP 
    0040EE68      90                 nop
    0040EE69      90                 nop
    0040EE6A      A0 C4FF1200        mov     al, byte ptr [12FFC4]
    0040EE6F      90                 nop
    0040EE70 >    90                 nop
    0040EE71      90                 nop
    0040EE72      90                 nop
    0040EE73      90                 nop
    0040EE74      90                 nop
    0040EE75      C605 C5FF1200 11   mov     byte ptr [12FFC5], 11
    0040EE7C      90                 nop
    0040EE7D      90                 nop
    0040EE7E      90  

    12FFC4 11 11

    1.
    内存访问断点 设置12FFC4一个字节为内存访问断点 F9运行程序 OD会停在0040EE6A

    原理:OD会设置12FFC4地址访问权限为不可读 大小为一字节   任何试图读取该地址的操作 都会引发异常 OD会捕获这个异常 并等待用户处理 现象就是 运行到 mov     al, byte ptr [12FFC4] 当指令试图读取该地址内容 并给AL赋值的时候 OD断了下来 


    2.
    硬件访问断点 设置12FFC4一个字节为硬件访问断点 F9运行程序 OD会停在0040EE6F

    原理:OD会设置调试寄存器 DR0-DR3 其中一个为12FFC4 并设置DR7相关标记 这个实现依靠CPU特性 当设置了改地址为硬件访问断点后 任何试图访问该地址的操作 都会引发异常 OD会捕获这个异常 并等待用户处理 现象就是 运行到 mov     al, byte ptr [12FFC4] 当指令试图读取该地址内容 并给AL赋值的时候 OD断了下来 


    3.
    内存写入断点 设置12FFC5一个字节为内存写入断点 F9运行程序 OD会停在0040EE75

    原理:OD会设置12FFC5地址访问权限为不可写 大小为一字节   任何试图写入该地址的操作 都会引发异常 OD会捕获这个异常 并等待用户处理  现象就是 运行到 mov     byte ptr [12FFC5], 11 当指令试图写入该地址内容  OD断了下来


    4.
    硬件写入断点 设置12FFC5一个字节为硬件写入断点 F9运行程序 OD会停在0040EE7C

    原理:OD会设置调试寄存器 DR0-DR3 其中一个为12FFC5 并设置DR7相关标记 这个实现依靠CPU特性 当设置了改地址为硬件访问写入后 任何试图写入该地址的操作 都会引发异常 OD会捕获这个异常 并等待用户处理 现象就是 运行到 mov     byte ptr [12FFC5], 11 当指令试图写入该地址的时候 OD断了下来 

    至于内存断点断在当前指令 硬件断点断在当前指令的下一条 取决于OD的实现
  • 相关阅读:
    c基础
    一维数组,字符数组
    循环结构
    分支结构
    结构体
    Python简介和入门
    Python基础(一)
    Markdown 基础学习
    PyCharm 专业版安装
    Python基础(二)
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693491.html
Copyright © 2020-2023  润新知