od的簡單使用--(1)

od的簡單使用——(1)

一,本教程需要的工具OllyDBG 下載:

 

OllyDBG 中各個窗口的功能如上圖。簡單解釋一下各個窗口的功能,更詳細的內容可以參考 TT 小組翻譯的中文幫助:
反彙編窗口:顯示被調試程序的反彙編代碼,標題欄上的地址、HEX 數據、反彙編、註釋可以通過在窗口中右擊出現的菜單 界面選項->隱藏標題  顯示標題 來進行切換是否顯示。用鼠標左鍵點擊註釋標籤可以切換註釋顯示的方式。
寄存器窗口:顯示當前所選線程的 CPU 寄存器內容。同樣點擊標籤 寄存器 (FPU) 可以切換顯示寄存器的方式。
信息窗口:顯示反彙編窗口中選中的第一個命令的參數及一些跳轉目標地址、字串等。
數據窗口:顯示內存或文件的內容。右鍵菜單可用於切換顯示方式。
堆棧窗口:顯示當前線程的堆棧。
要調整上面各個窗口的大小的話,只需左鍵按住邊框拖動,等調整好了,重新啓動一下 OllyDBG 就可以生效了。
啓動後我們要把插件及 UDD 的目錄配置爲絕對路徑,點擊菜單上的 選項->界面,將會出來一個界面選項的對話框,我們點擊其中的目錄標籤:

因爲我這裏是把 OllyDBG 解壓在 F:\OllyDBG 目錄下,所以相應的 UDD 目錄及插件目錄按圖上配置。還有一個常用到的標籤就是上圖後面那個字體,在這裏你可以更改 OllyDBG 中顯示的字體。上圖中其它的選項可以保留爲默認,若有需要也可以自己修改。修改完以後點擊確定,彈出一個對話框,說我們更改了插件路徑,要重新啓動 OllyDBG。在這個對話框上點確定,重新啓動一下 OllyDBG,我們再到界面選項中看一下,會發現我們原先設置好的路徑都已保存了。有人可能知道插件的作用,但對那個 UDD 目錄不清楚。我這簡單解釋一下:這個 UDD 目錄的作用是保存你調試的工作。比如你調試一個軟件,設置了斷點,添加了註釋,一次沒做完,這時 OllyDBG 就會把你所做的工作保存到這個 UDD 目錄,以便你下次調試時可以繼續以前的工作。

如果不設置這個 UDD 目錄,OllyDBG 默認是在其安裝目錄下保存這些後綴名爲 udd 的文件,時間長了就會顯的很亂,所以還是建議專門設置一個目錄來保存這些文件。
另外一個重要的選項就是調試選項,可通過菜單 選項->調試設置 來配置:

新手一般不需更改這裏的選項,默認已配置好,可以直接使用。建議在對 OllyDBG 已比較熟的情況下再來進行配置。上面那個異常標籤中的選項經常會在脫殼中用到,建議在有一定調試基礎後學脫殼時再配置這裏。
除了直接啓動 OllyDBG 來調試外,我們還可以把 OllyDBG 添加到資源管理器右鍵菜單,這樣我們就可以直接在 .exe  .dll 文件上點右鍵選擇Ollydbg打開菜單來進行調試。要把 OllyDBG 添加到資源管理器右鍵菜單,只需點菜單 選項->添加到瀏覽器,將會出現一個對話框,先點擊添加 Ollydbg 到系統資源管理器菜單,再點擊完成按鈕即可。要從右鍵菜單中刪除也很簡單,還是這個對話框,點擊從系統資源管理器菜單刪除 Ollydbg”,再點擊完成就行了。

OllyDBG 支持插件功能,插件的安裝也很簡單,只要把下載的插件(一般是個 DLL 文件)複製到 OllyDBG 安裝目錄下的 PLUGIN 目錄中就可以了,OllyDBG 啓動時會自動識別。要注意的是 OllyDBG 1.10 對插件的個數有限制,最多不能超過 32 個,否則會出錯。建議插件不要添加的太多。
到這裏基本配置就完成了,OllyDBG 把所有配置都放在安裝目錄下的 ollydbg.ini 文件中。 

二、基本調試方法
OllyDBG 有三種方式來載入程序進行調試,一種是點擊菜單 文件->打開 (快捷鍵是 F3)來打開一個可執行文件進行調試,另一種是點擊菜單 文件->附加 來附加到一個已運行的進程上進行調試。注意這裏要附加的程序必須已運行。第三種就是用右鍵菜單來載入程序(不知這種算不算)。一般情況下我們選第一種方式。比如我們選擇一個 test.exe 來調試,通過菜單 文件->打開 來載入這個程序,OllyDBG 中顯示的內容將會是這樣:

調試中我們經常要用到的快捷鍵有這些:
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
上面提到的幾個快捷鍵對於一般的調試基本上已夠用了。改天再接着談

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章