程序的另類調(diào)試_第1頁
程序的另類調(diào)試_第2頁
程序的另類調(diào)試_第3頁
程序的另類調(diào)試_第4頁
程序的另類調(diào)試_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、我們的程序框架雖然有源程序,但動態(tài)調(diào)試起來比較麻煩,不能使用主流的IDE(如visual studio)進(jìn)行直接的編譯調(diào)試。只能通過mozilla build編譯成debug版本來附加斷點(diǎn)調(diào)試。然而編譯debug版本是一個漫長而充滿不確定性的過程。于是我想到用逆向工程的動態(tài)調(diào)式技術(shù),來調(diào)試我們的程序。我們使用大名鼎鼎的動態(tài)調(diào)試工具Ollydbg(以下簡稱OD),目前最新官方(http:/www.ollydbg.de)版本是2.0版,現(xiàn)在用的最廣的是1.1版本,其上的腳本,插件不及其數(shù)。如果需要可以到上找。逆向工程涉及的東西太多(除了IT技術(shù),還涉及到心里學(xué)、哲學(xué)、甚至神學(xué))非我能及,也不在本文

2、范圍內(nèi),所以不做介紹。好,回歸主題1.斷點(diǎn)調(diào)試。我們僅需要一個可以運(yùn)行的程序,便能跟蹤調(diào)試了。拿zmail來說吧。我們修改了zmail框架源碼如下圖我們一在這里注意下MatchInAddressBook 一會會在OD里查找這處。編譯為可運(yùn)行的release版,運(yùn)行zmail,然后運(yùn)行OD,在OD里附加zmail進(jìn)程如下圖附加后OD會反匯編zmail,并自動斷點(diǎn)暫停,我們按F9讓他運(yùn)行。我們切換到zmail主線程,在CPU窗口點(diǎn)右鍵,如下圖我們看到zmail 窗口標(biāo)題變成上面的樣子就說明轉(zhuǎn)成功了。如果沒轉(zhuǎn)好就重復(fù)做下。接下來,我們搜索程序里的字符串,來定位我們要設(shè)置的地方。在CPU窗口點(diǎn)右鍵如下

3、圖選擇find ASCII等一會后會分析完,自動切換到結(jié)果窗口,我們焦點(diǎn)窗口按ctrl+F3,輸入我們的標(biāo)記“MatchinAddressBook”,點(diǎn)OK, 會找到我們要的地方,然后雙點(diǎn)這行,進(jìn)入CPU窗口如下圖。在函數(shù)開始的地方按F2或雙擊設(shè)置斷點(diǎn),然后轉(zhuǎn)到zmail中執(zhí)行相關(guān)的調(diào)用功能。如下圖這時會在OD中我們的斷點(diǎn)處斷下來,看到OD右下角pause字樣。然后我們可以跟蹤調(diào)試了。F7步進(jìn),F(xiàn)8不進(jìn),F(xiàn)9執(zhí)行。每執(zhí)行條指令,可以在右上的寄存器窗口中查看各寄存器的值和CPU的標(biāo)志位。左下窗口是內(nèi)存,右下窗口是堆棧。2.錯誤處理有時我們的程序崩潰了,提示某處內(nèi)存發(fā)生異常之內(nèi)的。如果我們沒有源碼,也可以用OD來找錯。我們記下提示錯誤的內(nèi)存地址,然后打開OD附加目標(biāo)程序。然后在輸入地址如下圖。然后點(diǎn)OK,會跳到指令地址,我們在其上下斷點(diǎn)F2.然后運(yùn)行目標(biāo)程序相關(guān)出錯功能,就會斷點(diǎn)下,然后一步一步向上找,就能分析出出錯的地方了。顯然用OD要有點(diǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論