程序調試利器Ollydbg使用教程
大小:0.3 MB 人氣: 2017-10-09 需要積分:1
1.1、Ollydbg
Ollydbg(簡稱OD)是Windows平臺下Ring3級的程序調試利器。程序調試有靜態調試和動態調試兩種。靜態調試是指將程序源代碼編譯成可執行程序之前,用手工或編譯程序等方法對程序源代碼進行測試,來查找和修正程序中的語法錯誤和邏輯錯誤。動態調試則是在可執行程序的運行過程中,來查找和修正程序中的語法錯誤和邏輯錯誤。隨著系統安全與逆向工程的不斷發展,程序調試已經成為信息安全愛好者所必備的一種技術。OD結合了靜態調試和動態調試的方法,功能強大,已經成為了Windows平臺下普通應用程序的調試利器。
1.2、PE文件
PE文件的全稱是Portable Executable,意為可移植的可執行的文件,常見的EXE、DLL、OCX、SYS、COM都是PE文件
1.3、寄存器
EAX 是”累加器”(accumulator), 它是很多加法乘法指令的缺省寄存器。
EBX 是”基地址”(base)寄存器, 在內存尋址時存放基地址。
ECX 是計數器(counter), 是重復(REP)前綴指令和LOOP指令的內定計數器。
EDX 則總是被用來放整數除法產生的余數。
ESI/EDI分別叫做”源/目標索引寄存器”(source/destination index),因為在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目標串。
EBP是”基址指針”(BASE POINTER), 它最經常被用作高級語言函數調用的”框架指針”(frame pointer)。
二、OD的各個窗口
2.1、反匯編窗口
地址欄[Address] - 顯示距雙擊地址處的相對地址。再次雙擊基地址,則恢復為標準地址顯示模式; 十六進制數據欄[Hex dump] - 設置或取消非條件斷點; 反匯編欄[Disassembly] - 調用匯編器,修改命令; 注釋欄[Comment] - 增加或修改與命令相關的注釋。
2.2、信息窗口
用于解碼反匯編窗口中選中的第一個命令的參數,信息窗口也會顯示隱含的參數。
2.3、數據窗口
用于顯示內存或文件的內容。可以從以下預處理格式中選擇一種顯示方式:字節[byte]、文本[text]、整數[integer]、浮點數[float]、地址[address],反匯編[disassembly]、PE頭[PE Header]。
2.4、寄存器窗口
用于顯示和解釋當前所選線程的CPU寄存器中的內容。該窗口同樣允許修改寄存器,并可以跟進地址到其它CPU窗口。
2.5、堆棧窗口
用于顯示當前線程的堆棧。當被調試程序暫停運行時,堆棧窗口一般會自動滾動將當前ESP指向的地址放在窗口的第一條。并且這個地址被高亮顯示。在某些情況下禁止滾動會更方便一些,可以通過在堆棧窗口右鍵單擊[鎖定堆棧]來禁止堆棧自動滾動。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%