OllyDbg拾遗
???????寒假到來,又可以學習自己喜歡的東西啦,準備回顧一下學習過的逆向知識,算是回顧,也是重修,拾遺拾遺,非他所遺,己之所遺。
???????網上關于OD的知識很多,也很好,之所以自己要寫一些是為了以后查詢相對方便,也為了鞏固自己的知識。以后如果有新內容的話可以及時補充。
???????廢話不說,我盡可能簡略又清楚的描述。OD是調試Ring3級程序的首選工具,本文以32位OllyDbg1.01為例。
一、OllyDbg界面
???????其實這是OllyICE的界面,也就是OllyDbg的漢化版。
①反匯編窗口
???????反匯編面板窗口顯示被調試程序的代碼,有4列,分別是地址(虛擬地址)、十六進制的機器碼、反匯編代碼和注釋。在最后一列注釋中顯示了相關API參數或運行簡表,非常有用。
???????在反匯編窗口的列中,默認情況下,雙擊可以完成如下操作:
???????地址列:顯示被雙擊行地址的相對地址(相對當前執行的指令),再次雙擊返回標準模式。
???????十六進制機器碼列:設置或取消無條件斷點,對應的快捷鍵是“F2”鍵。
???????反匯編代碼列:調用匯編器,可直接修改匯編代碼,對應的快捷鍵是空格鍵。
???????注釋列:允許增加或編輯注釋,對應的快捷鍵是空格鍵。
②寄存器面板窗口
???????寄存器面板窗口顯示CPU各寄存器的值,支持浮點、MMX和3DNow!寄存器??梢詥螕粲益I或窗口標題切換顯示寄存器的方式。
③數據面板窗口
???????數據面板窗口以十六進制和字符方式顯示文件在內存中的數據。最左邊的列是數據在內存中的地址,中間一列是十六進制數,右邊的是字符。要顯示指定內存地址的數據,可在③處單擊右鍵快捷菜單中的“轉到”命令或“Ctrl+G”快捷鍵,打開地址窗口,輸入地址。
④棧面板窗口
???????棧面板窗口顯示棧的內容,即ESP指向地址的內容。做邊是棧地址,中間是棧地址對應的數據,右邊是注釋。
⑤信息面板窗口
???????在進行動態跟蹤時,信息面板窗口將顯示與指令相關的各寄存器的值、API函數調用提示和跳轉提示等信息。
二、OllyDbg配置
???????OllyDbg的設置在“選項”(Option)菜單里,有界面選項(Appearance)和調試選項(Debugging options)等。這些選項配置都保存在ollydbg.ini文件里。
1.界面設置
???????單擊“選項”(Option)- >“界面選項”(Appearance)選項,打開界面選項對話框,單擊“目錄”(Directory)標簽,設置UDD文件和插件的路徑(為了避免出現問題,請設置成絕對路徑)。
???????①UDD文件是OllyDbg的工程文件,用于保存當前調試的一些狀態,例如斷點、注釋等,以便下次調試時繼續使用。
???????②插件用于擴充功能。路徑設置正確后,將插件復制到“plugin”目錄里,相應的選項就會在OllyDbg的主菜單“插件”里顯示出來。
2.調試設置
???????單擊“選項”->“調試選項”,打開調試設置選項對話框,一般保持默認即可。其中“異常”選項用于設置讓OllyDbg忽略或不忽略某些異常,建議這樣做:
3.關聯到右鍵快捷菜單
???????可以將OllyDbg關聯到Windows資源管理器的右鍵快捷菜單里。關聯后,當調試程序時,只需要在EXE或DLL文件上單擊右鍵,就會出現“用OllyDbg打開”菜單項。想要實現關聯,只需要先單擊“選項”->“添加到資源管理器右鍵菜單”選項,再單擊“調價OllyICE到系統資源管理器菜單”按鈕。
總結
- 上一篇: 利用python求积分
- 下一篇: 易通酒店信息管理系统 v2.5 绿色