1. 再调试一个程序之前,先设置OD使之可以停在程序的入口点。
单击 ” Options/Debugging options” 打开调试选项配置对话框,在 “event” 标签页上,设置OD在首次何处何时暂停。
1. 一般将暂停点设置在 “ Entry point of main module ” 或 “WinMain” 处而不是系统断点处。
1.1.1 Entry point of main module : 主模块的入口点,即exe文件的入口点。
1.1.2 WinMain: exe文件的WinMain函数入口点(设置这个选项不起作用,OD还是会停在主模块的入口点)。
1.1.3 System breakpoint: 系统断点,OD调用带参数 DEBUG_ONLY_THIS_PROCESS 的CreateProcess启动
启动被调试的进程,进程启动后在系统空间里触发一个INT 3 。
2. OD 调试快捷键
OD快捷键 | 功能 |
F7 | Step into (entering functions) |
F8 | Step over (executing function calls at once) |
F9 | Run |
Ctrl+F9 | Execute till return |
Alt+F9 | Execute till user code |
Shift+F9 | Pass exception to standard handler and run |
F12 | Pause |
*** 说明***:执行Ctrl + F9暂停后,是停在ret指令还是ret之后的指令,是由选项 ” Options / Debugging options / trace” 页中的
选项 “ After Executing till RET, step over RET”控制。
OD快捷键 | 功能 |
Ctrl + F7 | 等价于一直按着F7,直到遇到断点,或用户按下F12键,或用户按下Esc键 |
Ctrl + F8 | 等价于一直按着F8,直到遇到断点,或用户按下F12键,或用户按下Esc键 |
OD快捷键 | 功能 |
F2 | Toggle breakpoint |
Shift+F2 | Set conditional breakpoint |
F4 | Run to selection |
Enter | Follow jump or call |
Ctrl+G | Follow expression |
Plus (+) | Go to next location/next run trace item |
Minus (-) | Go to previous location/previous run trace item |
OD快捷键 | 功能 |
Semicolon (;) | Add comment |
Colon (:) | Add label |
Asterisk (*) | Origin |
OD快捷键 | 功能 |
Alt+F7 | Go to previous reference |
Alt+F8 | Go to next reference |
OD快捷键 | 功能 |
F5 | Maximize/restore active window |
Alt+F5 | Make OllyDbg topmost |
OD快捷键 | 功能 |
Ctrl+F11 | Trace into |
Ctrl+F12 | Trace over |
Ctrl+T | Set condition to pause Run trace |
OD快捷键 | 功能 |
F3 | Open new program |
Ctrl+F2 | Restart program |
Alt+F2 | Close program |
Alt+X | Close OllyDbg |
OD快捷键 | 功能 |
Alt+B | Open Breakpoints window |
Alt+C | Open CPU window |
Alt+E | Open Executable Modules window |
Alt+L | Open Log window |
Alt+M | Open Memory map window |
Alt+O | Open Debug Options dialog |
OD快捷键 | OD快捷键 |
Ctrl+A | Analyse code |
Ctrl+B | Start binary search |
Ctrl+C | Copy selection to clipboard |
Ctrl+E | Edit selection in binary format |
Ctrl+F | Search for a command |
Ctrl+S | Search for a sequence of commands |
Ctrl+J | Show list of jumps to selected line |
Ctrl+K | View call tree |
Ctrl+L | Repeat last search |
Ctrl+N | Open list of labels (names) |
Ctrl+O | Scan object files |
Ctrl+R | ind references to selected command |