OD快捷鍵使用大全

無論當前的OllyDbg窗口是什麼,這些快捷鍵均有效:
 

Ctrl+F2 - 重啓程序,即重新啓動被調試程序。如果當前沒有調試的程序,OllyDbg會運行歷史列表[history

list]中的第一個程序。程序重啓後,將會刪除所有內存斷點和硬件斷點。

譯者注:從實際使用效果看,硬件斷點在程序重啓後並沒有移除。


Alt+F2 - 關閉,即關閉被調試程序。如果程序仍在運行,會彈出一個提示信息,詢問您是否要關閉程序。

 

F3 - 彈出“打開32位.EXE文件”對話框[Open 32-bit .EXE file],您可以選擇可執行文件,並可以輸入運行參數。

 

Alt+F5 -

讓OllyDbg總在最前面。如果被調試程序在某個斷點處發生中斷,而這時調試程序彈出一個總在最前面的窗口(一般爲模式消息或模式對話框[modal message

or dialog]),它可能會遮住OllyDbg的一部分,但是我們又不能移動最小化這個窗口。激活OllyDbg(比如按任務欄上的標籤)並按

Alt+F5,OllyDbg將設置成總在最前面,會反過來遮住剛纔那個窗口。如果您再按一下Alt+F5,OllyDbg會恢復到正常狀態。

OllyDbg是否處於總在最前面狀態,將會保存,在下一次調試時依然有效。當前是否處於總在最前面狀態,會顯示在狀態欄中。


F7 -

單步步入到下一條命令,如果當前命令是一個函數[Call],則會停在這個函數體的第一條命令上。如果當前命令是是含有REP前綴,則只執行一次重複操作。


Shift+F7 -

與F7相同,但是如果被調試程序發生異常而中止,調試器會首先嚐試步入被調試程序指定的異常處理(請參考忽略Kernel32中的內存非法訪問)。


Ctrl+F7 -

自動步入,在所有的函數調用中一條一條地執行命令(就像您按住F7鍵不放一樣,只是更快一些)。當您執行其他一些單步命令,或者程序到達斷點,或者發生異常時,自動步入過程都會停止。每次單步步入,OllyDbg都會更新所有的窗口。所以爲了提高自動步入的速度,請您關閉不必要成窗口,對於保留的窗口最好儘量的小。按Esc鍵,可以停止自動步入。
 

F8 -

單步步過到下一條命令。如果當前命令是一個函數,則一次執行完這個函數(除非這個函數內部包含斷點,或發生了異常)。如果當前命令是含有REP前綴,則會執行完重複操作,並停在下一條命令上。
 

Shift+F8 -

與F8相同,但是如果被調試程序發生異常而中止,調試器會首先嚐試步過被調試程序指定的異常處理(請參考忽略Kernel32中的內存非法訪問)。
 

Ctrl+F8 -

自動步過,一條一條的執行命令,但並不進入函數調用內部(就像您按住F8鍵不放一樣,只是更快一些)。當您執行其他一些單步命令,或者程序到達斷點,或者發生異常時,自動步過過程都會停止。每次單步步過,OllyDbg都會更新所有的窗口。所以爲了提高自動步過的速度,請您關閉不必要成窗口,對於保留的窗口最好儘量的小。按Esc鍵,可以停止自動步過。
 

F9 - 讓程序繼續執行。


Shift+F9 -

與F9相同,但是如果被調試程序發生異常而中止,調試器會首先嚐試執行被調試程序指定的異常處理(請參考忽略Kernel32中的內存非法訪問)。
 

Ctrl+F9 -

執行直到返回,跟蹤程序直到遇到返回,在此期間不進入子函數也不更新CPU數據。因爲程序是一條一條命令執行的,所以速度可能會慢一些。按Esc鍵,可以停止跟蹤。
 

Alt+F9 -

執行直到返回到用戶代碼段,跟蹤程序直到指令所屬於的模塊不在系統目錄中,在此期間不進入子函數也不更新CPU數據。因爲程序是一條一條執行的,所以速度可能會慢一些。按Esc鍵,可以停止跟蹤。
 

Ctrl+F11

-Run跟蹤步入,一條一條執行命令,進入每個子函數調用,並把寄存器的信息加入到Run跟蹤的存儲數據中。Run跟蹤不會同步更新CPU窗口。
 

F12 - 停止程序執行,同時暫停被調試程序的所有線程。請不要手動恢復線程運行,最好使用繼續執行快捷鍵或菜單選項(像 F9)。
 

Ctrl+F12 - Run跟蹤

步過,一條一條執行命令,但是不進入子函數調用,,並把寄存器的信息加入到Run跟蹤的存儲數據中。Run跟蹤不會同步更新CPU窗口。
 

Esc - 如果當前處於自動運行或跟蹤狀態,則停止自動運行或跟蹤;如果CPU顯示的是跟蹤數據,則顯示真實數據。
 

Alt+B - 顯示斷點窗口。在這個窗口中,您可以編輯、刪除、或跟進到斷點處。

Alt+C - 顯示CPU窗口。

Alt+E - 顯示模塊列表[list of modules]。
 

Alt+K - 顯示調用棧[Call stack]窗口。
 

Alt+L - 顯示日誌窗口。
 

Alt+M - 顯示內存窗口。

 

Alt+O - 顯示選項對話框[Options dialog]
 

Ctrl+P - 顯示補丁窗口。
 

Ctrl+T - 打開 暫停 Run跟蹤 對話框
 

Alt+X - 關閉 OllyDbg。
 

大多數窗口都支持以下的鍵盤命令:
 

Alt+F3 - 關閉當前窗口。

c.&vWmLSGE 

Ctrl+F4 - 關閉當前窗口。

F5 - 最大化當前窗口或將當前窗口大小改爲正常化。
 

F6 - 切換到下一個窗口。
 

Shift+F6 - 切換到前一個窗口。
 

F10 - 打開與當前窗口或面板相關的快捷菜單。
 

左方向鍵 - 顯示窗口左方一個字節寬度的內容。
 

Ctrl+左方向鍵 - 顯示窗口左方一欄的內容。
 

右方向鍵 - 顯示窗口右方一個字節寬度的內容


Ctrl+右方向鍵 - 顯示窗口右方一欄的內容
 

反彙編窗口中的快捷鍵[Disassembler shortcuts]
 

當CPU窗口中的反彙編面板[Disassembler pane]處於激活狀態時,您可以使用以下快捷鍵:
 

回車鍵 - 將選中的命令添加到命令歷史[command history]中,如果當前命令是一個跳轉、函數或者是轉換表的一個部分,則進入到目的地址。
 

退格鍵 - 移除選中部分的自動分析信息。如果分析器將代碼誤識別爲數據,這個快捷鍵就非常有用。請參考解碼提示[decoding hints]. 


Alt+退格鍵 - 撤消所選部分的修改,以備份數據的相應內容替換所選部分。僅當備份數據存在且與所選部分不同時可用。


Ctrl+F1 -如果API幫助文件已經選擇,將打開與首個選擇行內的符號名相關聯的幫助主題。
 

F2 -在首個選擇的命令上開關INT3 斷點[Breakpoint],也可以雙擊該行第二列。
 

Shift+F2 -在首個選擇命令設置條件斷點,參見忽略Kernel32中內存訪問異常[Ignore memory access violations

in Kernel32]。
 

F4

-執行到所選行,在首個選擇的命令上設置一次性斷點,然後繼續執行調試程序,直到OllyDbg捕獲到異常或者停止在該斷點上。在程序執行到該命令之前,該一次性斷點一直有效。如有必要,可在斷點窗口[Breakpoints

window]中刪除它。
 

Shift+F4 -設置記錄斷點(一種條件斷點,當條件滿足時一些表達式的值會記錄下來), 詳情參見斷點[Breakpoint]。
 

Ctrl+F5 -打開與首個選擇的命令相對應的源文件。

 
Alt+F7 -轉到上一個找到的參考。
 

Alt+F8 -轉到下一個找到參考。
 

Ctrl+A -分析當前模塊的代碼段。


Ctrl+B - 開始二進制搜索。
 

Ctrl+C -複製所選內容到剪貼板。複製時會簡單地按列寬截斷不可見內容,如果希望排除不需要的列,可把這些列的寬度調整到最小。
 

Ctrl+E -以二進制(十六進制)格式編輯所選內容。
 

Ctrl+F -開始命令搜索。
 

Ctrl+G -轉到某地址。該命令將彈出輸入地址或表達式的窗口。該命令不會修改 EIP。


Ctrl+J -列出所有的涉及到該位置的調用和跳轉,在您用這個功能之前,您必須使用分析代碼功能。

Ctrl+K - 查看與當前函數相關的調用樹[Call tree]。在您用這個功能之前,您必須使用分析代碼功能。


Ctrl+L - 搜索下一個,重複上一次的搜索內容。
 

Ctrl+N - 打開當前模塊的名稱(標籤)列表。


Ctrl+O -

掃描object文件。掃描Object文件。該命令會顯示掃描Object文件對話框,您可以在該對話框中選擇Object文件或者lib文件,並掃描這個文件,試圖找到在實際代碼段中用到的目標模塊。
 

Ctrl+R

-搜索所選命令的參考。該命令掃描激活模塊的全部可執行代碼,以找到涉及到首個選中的命令的全部相關參考(包括:常量、跳轉及調用),您可以在參考中使用快捷鍵

Alt+F7 和 Alt+F8來瀏覽這些參考。爲便於您使用,被參考的命令也包含在該列表中。


Ctrl+S -命令搜索。該命令顯示命令查找[Find command]對話框供您輸入彙編命令,並從當前命令開始搜索。
 

星號[Asterisk](*) -轉到原始位置(激活線程的EIP處)。


Ctrl+星號(*) - 指定新的起始位置,設置當前所選線程的EIP爲首個選擇字節的地址。您可以在選擇EIP並撤消該操作。


加號[Plus](+) -如果run跟蹤[run trace] 沒有激活,則根據命令歷史[command

history]跳到下一條運行過命令的地方;否則跳到Run跟蹤的下一個記錄。
 

Ctrl+加號 - 跳到前一個函數開始處。(注意只是跳到,並不執行)


減號[Minus](-) - 如果run跟蹤[run trace] 沒有激活,則根據命令歷史[command

history]跳到前一條運行過命令的地方;否則跳到Run跟蹤的前一個記錄。


Ctrl+減號 - 跳到下一個函數開始處。(注意只是跳到,並不執行)
 

空格[Space] -

修改命令。您可在顯示對話框中以彙編語言修改實際指令或輸入新指令,這些指令將替換實際代碼,您也可以在想要修改的指令處雙擊鼠標。
 

冒號[Colon]( - 添加標籤。顯示添加標籤窗口[Add label]或修改標籤窗口[Change

label],您可在此輸入與首個選擇的命令中的第一個字節相關聯的標籤(符號名)。注意,在多種編程語言中,冒號可以是標籤的一部分。


分號[Semicolon](;) - 添加註釋[comment]。顯示添加註釋窗口[Add label]或修改註釋窗口[Change

label],您可在此輸入與首條所選命令的第一個字節相關聯的註釋(註釋串會顯示在最後一列中)。注意,多種彙編語言使用分號作爲註釋開始。您也可以在註釋列雙擊需要註釋的命令行。
 

命令行插件支持的命令
 

CALC

判斷表達式
 

WATCH

添加監視表達式


AT

在指定地址進行反彙編


FOLLOW

跟隨命令

ORIG

反彙編於 EIP
 

DUMP

在指定地址進行轉存


DA

轉存爲反彙編代碼
 

DB

使用十六進制字節格式轉存
 

DC

使用 ASCII 格式轉存


DD

轉存在堆棧格式
 

DU

轉存在 UNICODE 格式


DW

使用十六進制字詞格式轉存
 

STK

 

AS

(AS + 地址 + 字符串)

在指定地址進行彙編
 

BP

進行條件中斷(有條件的斷點)


BPX

中斷在全部調用 (Call)

BPD

清除全部調用中的斷點
 

BC

清除斷點
 

MR

內存斷點於訪問時
 

MW

內存斷點於寫入時
 

MD

清除內存斷點
 

HR

訪問時進行硬件中斷
 

HW

寫入時進行硬件中斷


HE

執行時進行硬件中斷
 

HD

清除硬件斷點
 

STOP

停止運行程序調試

PAUSE

暫停執行程序調試
 

RUN

運行程序進行調試
 

GE

運行和通過例外


SI

單步進入 Call 中

SO

步過 Call

TI

跟蹤進入直到地址
 

TO

跟蹤步過直到地址

TC

跟蹤進入直到滿足條件


TOC

跟蹤步過直到滿足條件
 

TR

運行直到返回
 

TU

運行直到用戶代碼
 

LOG

查看記錄窗口
 

MOD

查看模塊窗口


MEM

查看內存窗口


CPU

查看 CPU 窗口


CS

查看 Call 堆棧
 

BRK

查看斷點窗口


OPT

打開選項設置窗口
 

EXIT

退出 OllyDbg
 

QUIT

退出 OllyDbg
 

OPEN

打開一個可執行文件
 

CLOSE

關閉可執行文件
 

RST

重新運行當前程序
 

HELP

查看 API 函數的幫助

發佈了28 篇原創文章 · 獲贊 27 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章