跳转至

通过命令行控制 OllyDbg

命令行插件让你通过一个小型命令行界面控制 OllyDbg。要访问这个插件,按 alt-F1 或「插件 → 命令行 → 命令行」。你应该会看到一个窗口,如图 2-8 所示,它就是命令行界面。

图 2-7 Cheat Utility 界面

要执行命令,在输入框①中输入它并按回车。你会在中间的列表②中看到会话级命令历史,底部标签显示命令的返回值③(如果有的话)。

虽然有大量可用命令,但我发现其中大多数没用。我主要把这个工具用作测试表达式是否按预期解析的方式和一个方便的计算器,但也有一些额外的用例值得一提。我在表 2-6 中描述了它们。

命令功能 BC identifier移除 identifier 上存在的任何断点,identifier 可以是代码地址或 API 函数名。BP identifier [,condition]在 identifier 上放置调试器断点,identifier 可以是代码地址或 API 函数名。当 identifier 是 API 函数名时,断点会放置在函数入口点。condition 参数是可选表达式,如果存在,会设置为断点条件。BPX label在当前反汇编模块中 label 的每个实例上放置调试器断点。这个 label 通常是 API 函数名。CALC expression求值 expression 并显示结果。? expression同上(CALC 的别名)。HD address移除 address 上存在的任何硬件断点。HE address在 address 上放置硬件执行断点。HR address在 address 上放置硬件访问断点。一次只能存在四个硬件断点。HW address在 address 上放置硬件写入断点。MD移除任何现有的内存断点(如果有)。MR address1, address2放置从 address1 开始一直延伸到 address2 的内存访问断点。会替换任何现有内存断点。

图 2-8 命令行界面

命令功能 MW address1, address2放置从 address1 开始一直延伸到 address2 的内存写入断点。会替换任何现有内存断点。WATCH expression打开「监视」窗口并把 expression 添加到监视列表。列表中的表达式会在进程每次收到消息时重新求值,结果会显示在它们旁边。W expression同上(WATCH 的别名)。

命令行插件由 OllyDbg 开发者制作,应该随 OllyDbg 预装。