天天看點

【加解密學習筆記:第二天】動态調試工具OllyDbg使用基礎介紹

首先說一下OllyDbg的界面,如下圖所示

【加解密學習筆記:第二天】動态調試工具OllyDbg使用基礎介紹

下面依次介紹:

  • 反彙編面闆:有四列,從左到右依次為:位址(Address),機器碼(Hex dump),反彙編代碼(Disassembly),注釋(Comment)
  • 資訊面闆:在進行動态跟蹤時,資訊面闆視窗(Information window)将顯示與指令相關的各寄存器的值,API函數調用提示和跳轉資訊提示等資訊。
  • 資料面闆:顯示程式在記憶體中的資料,第一列是資料所處的位址,第二列是資料的十六進制顯示,第三列是對應的ASCII碼顯示。
  • 寄存器面闆:顯示了CPU各個寄存器的值。
  • 棧面闆視窗:顯示目前棧的資料資訊,push入棧,pop出棧。棧用來進行參數傳遞以及儲存變量。更詳細的功能請參考《彙編語言》

如何使用OllyDbg開始調試程式

首先,設定OllyDbg的斷點,讓加載的程式在程式入口中斷。運作OLLyDbg,單擊“Options”-“Debugging options”選項,單擊“Event”标簽,一般設定于“WinMain”處。

加載一個程式有兩種方式:

  • 第一種是通過 GreatProcess 建立一個調試程序。單擊菜單項“File”-“open”或按“F3”鍵打開目标檔案,就調用 GreatProcess 建立了一個調試程序,OllyDbg 将收到目标程序所發送的調試事件資訊,對其子程式的調試時間不予理睬。
  • 第二種是将OllyDbg附加到一個正在進行的程序上,該方法通過 DebugActiveProcess 函數可以将調試器捆綁到一個正在運作的程式上的特點,如果執行成功,效果類似第一種方法。單擊菜單項“File”-“Attach”,打開附加對話框,選中正在運作的程序,按下“Attach”,即可附加目标程序。這時,程式會在 Ntdll.dll 的 DbgBreakPoint 處。按下“F9”或“shift+F9”繼續運作程式。

一些快捷鍵

快捷鍵 功能
F7 單步步進,遇到call指令跟進
F8 單步步進,遇到call指令路過,不跟進
Ctrl+F9 直到出現 ret 指令時中斷
Alt+F9 若進入程式領空,按下後可立刻傳回應用程式領空
F9 運作程式
F2 設定斷點(INT 3 斷點)

繼續閱讀