1.軟件窗口說明函數
OllyDBG 中各個窗口的名稱以下圖。簡單解釋一下各個窗口的功能,spa
反彙編窗口:顯示被調試程序的反彙編代碼,標題欄上的地址、HEX 數據、反彙編、註釋能夠經過在窗口中右擊出現的菜單 界面選項->隱藏標題 或 顯示標題 來進行切換是否顯示。用鼠標左鍵點擊註釋標籤能夠切換註釋顯示的方式。
寄存器窗口:顯示當前所選線程的 CPU 寄存器內容。一樣點擊標籤 寄存器 (FPU) 能夠切換顯示寄存器的方式。
信息窗口:顯示反彙編窗口中選中的第一個命令的參數及一些跳轉目標地址、字串等。
數據窗口:顯示內存或文件的內容。右鍵菜單可用於切換顯示方式。
堆棧窗口:顯示當前線程的堆棧。
要調整上面各個窗口的大小的話,只需左鍵按住邊框拖動,等調整好了,從新啓動一下 OllyDBG 就能夠生效了。線程
2.軟件快捷鍵調試
F2 //下斷點blog
F3 //加載一個可執行程序進程
F4 //程序執行到光標處內存
F5 //縮小,還原當前窗口io
F7 //單步步入test
F8 //單步步過軟件
F9 //直接運行程序,遇到斷點處,程序會暫停
Ctrl+F2 從新運行程序到起始處,用於從新調試程序
Ctrl+F9 //執行到函數的返回處,用於跳出函數
Alt+F9 //執行到用戶代碼處,用於快速跳出系統函數
Ctrl+G //輸入十六進制地址,快速定位到該地址處
Ctrl+F2 //從新運行當前調試的程序
Alt+F2 結束當前調試的程序
暫時中止被調試程序的執行 (F12)
跟入被調試程序的 Call 中 (Ctrl+F11)
跟蹤時跳過被調試程序的 Call (Ctrl+F12)
執行直到返回 (Ctrl+F9)
顯示記錄窗口 (Alt+L)
顯示模塊窗口 (Alt+E)
顯示內存窗口 (Alt+M)
顯示 CPU 窗口 (Alt+C)
顯示補丁窗口 (Ctrl+P)
顯示呼叫堆棧 (Alt+K)
顯示斷點窗口 (Alt+B)
打開調試選項窗口 (Alt+O)
3.基本調試方法
OllyDBG 有三種方式來載入程序進行調試,
一種是點擊菜單 文件->打開 (快捷鍵是 F3)來打開一個可執行文件進行調試,
另外一種是點擊菜單 文件->附加 來附加到一個已運行的進程上進行調試。注意這裏要附加的程序必須已運行。
第三種就是用右鍵菜單來載入程序(不知這種算不算)。通常狀況下咱們選第一種方式。好比咱們選擇一個 test.exe 來調試,經過菜單 文件->打開 來載入這個程序
調試中咱們常常要用到的快捷鍵有這些:F2:設置斷點,只要在光標定位的位置(上圖中灰色條)按F2鍵便可,再按一次F2鍵則會刪除斷點。(至關於 SoftICE 中的 F9)F8:單步步過。每按一次這個鍵執行一條反彙編窗口中的一條指令,遇到 CALL 等子程序不進入其代碼。(至關於 SoftICE 中的 F10)F7:單步步入。功能同單步步過(F8)相似,區別是遇到 CALL 等子程序時會進入其中,進入後首先會停留在子程序的第一條指令上。(至關於 SoftICE 中的 F8)F4:運行到選定位置。做用就是直接運行到光標所在位置處暫停。(至關於 SoftICE 中的 F7)F9:運行。按下這個鍵若是沒有設置相應斷點的話,被調試的程序將直接開始運行。(至關於 SoftICE 中的 F5)CTR+F9:執行到返回。此命令在執行到一個 ret (返回指令)指令時暫停,經常使用於從系統領空返回到咱們調試的程序領空。(至關於 SoftICE 中的 F12)ALT+F9:執行到用戶代碼。可用於從系統領空快速返回到咱們調試的程序領空。(至關於 SoftICE 中的 F11)