您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

程序調(diào)試?yán)鱋llydbg使用教程

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

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

程序調(diào)試?yán)鱋llydbg使用教程下載

相關(guān)電子資料下載

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?