OD调试工具:断点与命令详解
"本文主要介绍了OD(OllyDbg)调试器中的断点设置与管理,以及相关的命令操作。OllyDbg是一款流行的x86汇编语言级别的动态调试工具,广泛用于逆向工程和软件调试。通过学习这些断点和命令,可以更有效地进行程序分析和调试工作。" 在OD中,断点是调试过程中的关键元素,它允许我们在特定位置暂停程序执行以便检查程序状态。断点类型包括: 1. BP (Break Point): 这是最基本的断点类型,可以通过指令地址(如`BP410010`)或条件(如`BPEAX+10,EAX==WM_CLOSE`)设置。当程序执行到指定地址或满足特定条件时,程序会暂停。 2. BPKernel32.GetProcAddress: 这种断点是在函数调用时设置的,例如在调用`Kernel32.GetProcAddress`函数时暂停。 3. BPX (Extended Break Point): BPX允许基于内存访问类型的断点,如读取(`BPXCreateFileA`)、写入和执行。 清除断点的命令为`BC`,例如`BC410010`将清除指定地址的断点。 此外,还有其他一些内存监视和控制的命令: - MR (Memory Read): 监视内存读取操作。 - MW (Memory Write): 监视内存写入操作。 - MD (Memory Data): 监视内存数据变化。 - HR (Hardware Read): 硬件监视读取操作。 - HW (Hardware Write): 硬件监视写入操作。 - HE (Hardware Execute): 硬件监视执行操作。 - HD: 显示OllyDbg中的硬件断点信息。 在调试过程中,还有一些实用的指令来辅助分析: - CALC: 计算表达式。 - WATCH: 监视变量或内存地址。 - AT/FOLLOW: 跟踪指定地址的值。 - Disassemble: 反汇编指定地址的代码。 - ORIG: 查看原始地址。 - EIPDUMP: 显示EIP寄存器指向的代码。 - DA/DB/DD/DU/DW/DT: 分别以不同格式(字节、ASCII、堆栈、UNICODE、字)显示内存内容。 - STK: 显示堆栈内容。 - AS/L/C/C+/C!: 在指定地址组装或注释代码。 - BP: 添加带条件的断点,如`BPX`。 - BPD: 设置断点在所有函数调用处。 - BC: 删除断点。 - MR/MW/MD/HR/HW/HE/HD: 添加或移除内存监视点。 - STOP/PAUSE/PAUSERU: 控制程序执行,如暂停或恢复。 通过熟练掌握这些OD中的断点和命令,可以更深入地理解程序运行流程,对逆向工程和软件调试工作大有裨益。
脱壳 2007-10-17 17:05:24 阅读16 评论0 字号:大中小
断点和命令
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 [表达式] 移除指定地址处的硬断点
以下命令使用于 OllyDbg 的快捷命令栏(显示于程序的状态栏上方)
===============================================================
CALC
判断表达式
WATCH
添加监视表达式
AT / FOLLOW
Disassemble at address
在地址进行反汇编
ORIG
Disassemble at EIP
反汇编于 EIP
Dump at address
在地址转存
DA
Dump as disassembly
转存为反汇编代码
DB
Dump in hex byte format
转存在十六进制字节格式
DC
Dump in ASCII format
转存在 ASCII 格式
DD
Dump in stack format
转存在堆栈格式
DU
Dump in UNICODE format
转存在 UNICODE 格式
DW
Dump in hex word format
转存在十六进制字词格式
STK
Go to address in stack
剩余7页未读,继续阅读
- 粉丝: 2
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全