# 2.3.2 OllyDbg

* [快捷键](#快捷键)
* [命令行插件](#命令行插件)
* [参考资料](#参考资料)

## 快捷键

* `Ctrl`+`F1`：打开与所选行内符号相关的 API 帮助文档。
* `F2`：在光标选定位置按 F2 键设置或取消断点。
* `Shift`+`F2`：在首个选择命令设置条件断点。
* `Ctrl`+`F2`：重新启动被调试程序。
* `F4`：运行到光标选定位置处暂停。
* `Shift`+`F4`：设置记录断点。
* `F5`：最大化当前窗口。
* `Ctrl`+`F5`：打开与首个选择的命令相对应的源文件。
* `Alt`+`F5`：让 OllyDbg 窗口总在最前面。
* `F6`：切换到下一个窗口。
* `Shift`+`F6`：切换到前一个窗口。
* `F7`：单步步入：每次执行一条指令，遇到 call 等子程序时进入其中。
* `Shift`+`F7`：与 F7 相同，但当被调试程序发生异常而中止时，调试器首先尝试步入被调试程序指定的异常处理。
* `Ctrl`+`F7`：自动步入，在所有的函数调用中一条一条地执行命令。
* `Alt`+`F7`：转到上一个找到的参考。
* `F8`：单步步过，每次执行一条指令，遇到 call 等子程序时不进入其中。
* `Shift`+`F8`：与 F8 相同，但当被调试程序发生异常而中止时，调试器首先尝试步过被调试程序指定的异常处理。
* `Ctrl`+`F8`：自动步过，一条一条执行命令，但不进入函数内部调用。
* `Alt`+`F8`：转到下一个找到的参考。
* `F9`：运行，被调试软件继续运行，直到遇到下一个断点。
* `Shift`+`F9`：与 F9 相同，但当被调试程序发生异常而中止时，调试器首先尝试执行被调试程序指定的异常处理。
* `Ctrl`+`F9`：执行到返回，在执行到一个 ret 指令时暂停，常用于从当前函数快速返回到上一个函数。
* `Alt`+`F9`：执行到用户代码，可用于从系统部分快速返回到被调试程序部分。
* `F10`：打开与当前窗口或面板相关的快捷菜单。
* `Ctrl`+`F11`：Run 跟踪步入，一条一条执行命令，进入子函数调用，并把寄存器信息加入到 Run 跟踪的存储数据中。
* `F12`：停止执行，暂停所有线程。
* `Ctrl`+`F12`：Run 跟踪步过，一条一条执行命令，不进入子函数调用，并把寄存器信息加入到 Run 跟踪的存储数据中。
* `Alt`+`F3`：关闭当前窗口。
* `Alt`+`B`：显示断点窗口。
* `Alt`+`C`：显示 CPU 窗口。
* `Alt`+`E`：显示模块列表。
* `Alt`+`K`：显示调用栈。
* `Alt`+`L`：显示日志窗口。
* `Alt`+`M`：显示内存窗口。
* `Alt`+`O`：显示选项对话框。
* `Alt`+`Backspace`：撤销对所选部分的修改。
* `Ctrl`+`A`：分析当前模块的代码段。
* `Ctrl`+`B`：开始二进制搜索。
* `Ctrl`+`E`：以十六进制格式编辑所选内容。
* `Ctrl`+`F`：开始命令搜索。
* `Ctrl`+`G`：转到某地址。
* `Ctrl`+`J`：列出所有的涉及到该位置的调用和跳转。
* `Ctrl`+`K`：查看与当前函数相关的调用树。
* `Ctrl`+`L`：搜索下一个。
* `Ctrl`+`N`：打开当前模块的名称列表。
* `Ctrl`+`O`：扫描对象文件。
* `Ctrl`+`P`：显示补丁窗口。
* `Ctrl`+`R`：搜索所选命令的参考。
* `Ctrl`+`S`：命令搜索。
* `Ctrl`+`T`：打开“暂停Run跟踪”对话框。
* `Esc`：停止自动执行或跟踪。
* `Enter`：将选中的命令添加到命令历史，如果当前命令是一个跳转或者函数，则进入到目的地址。
* `Backspace`：如果分析器将代码误识为数据，可以将选中部分的自动分析信息移除。
* \*：转到原始位置
* `Ctrl`+`*`：指定新的起始位置。
* `+`：如果 Run 跟踪没有激活，则根据历史命令跳到下一条运行过命令的地方；否则跳到 Run 跟踪的下一个记录。
* `Ctrl`+`+`：跳到前一个函数的开始处。
* `-`：如果 Run 跟踪没有激活，则根据历史命令跳到前一条运行过命令的地方；否则跳到 Run 跟踪的前一个记录。
* `Ctrl`+`-`：跳到下一个函数的开始处。
* `Space`：修改命令。
* `:`：添加标签。
* `;`：添加注释。

## 命令行插件

## 参考资料

* <http://www.ollydbg.de/>
