
【OLLYDBG功能介紹】
media player classic - home cinema是基于media player classic(mpc)修改而來的mod,它仍然保留著mpc的特色,并在此基礎(chǔ)上添加了anti tearing,抖動測試,字幕同步,shuttle pn31遠(yuǎn)程控制支持,osd 屏幕顯示,vista ready等不少實(shí)用的功能。運(yùn)行環(huán)境:OllyDbg 可以以在任何采用奔騰處理器的 Windows 95、98、ME、NT 或是 XP(未經(jīng)完全測試)操作系統(tǒng)中工作,但我們強(qiáng)烈建議您采用300-MHz以上的奔騰處理器以達(dá)到最佳效果。還有,OllyDbg 是極占內(nèi)存的,因此如果您需要使用諸如追蹤調(diào)試[Trace]之類的擴(kuò)展功能話,建議您最好使用128MB以上的內(nèi)存。
* 目前測試 OllyDbg 可以運(yùn)行在任意Windows x86架構(gòu)的平臺下。
支持的處理器 OllyDbg 支持所有 80x86、奔騰、MMX、3DNOW!、Athlon擴(kuò)展指令集、SSE指令集以及相關(guān)的數(shù)據(jù)格式,但是不支持SSE2指令集。
配置:有多達(dá)百余個選項(xiàng)用來設(shè)置 OllyDbg 的外觀和運(yùn)行。
數(shù)據(jù)格式:OllyDbg 的數(shù)據(jù)窗口能夠顯示的所有數(shù)據(jù)格式:HEX、ASCII、UNICODE、 16/32位有/無符號/HEX整數(shù)、32/64/80位浮點(diǎn)數(shù)、地址、反匯編(MASM、IDEAL或是HLA)、PE文件頭或線程數(shù)據(jù)塊。
幫助:此文件中包含了關(guān)于理解和使用 OllyDbg 的必要的信息。如果您還有 Windows API 幫助文件的話(由于版權(quán)的問題 win32.hlp 沒有包括在內(nèi)),您可以將它掛在 OllyDbg 中,這樣就可以快速獲得系統(tǒng)函數(shù)的相關(guān)幫助。
啟動:您可以采用命令行的形式指定可執(zhí)行文件、也可以從菜單中選擇,或直接拖放到OllyDbg中,或者重新啟動上一個被調(diào)試程序,或是掛接[Attach]一個正在運(yùn)行的程序。OllyDbg支持即時調(diào)試。OllyDbg根本不需要安裝,可直接在軟盤中運(yùn)行!
調(diào)試DLLs:您可以利用OllyDbg調(diào)試標(biāo)準(zhǔn)動態(tài)鏈接庫(DLLs)。OllyDbg 會自動運(yùn)行一個可執(zhí)行程序。這個程序會加載鏈接庫,并允許您調(diào)用鏈接庫的輸出函數(shù)。
源碼級調(diào)試:OllyDbg 可以識別所有 Borland 和 Microsoft 格式的調(diào)試信息。這些信息包括源代碼、函數(shù)名、標(biāo)簽、全局變量、靜態(tài)變量。有限度的支持動態(tài)(棧)變量和結(jié)構(gòu)。
代碼高亮:OllyDbg 的反匯編器可以高亮不同類型的指令(如:跳轉(zhuǎn)、條件跳轉(zhuǎn)、入棧、出棧、調(diào)用、返回、特殊的或是無效的指令)和不同的操作數(shù)(常規(guī)[general]、
FPU/SSE、段/系統(tǒng)寄存器、在?;騼?nèi)存中的操作數(shù),常量)。您可以定制個性化高亮方案。
線程:OllyDbg 可以調(diào)試多線程程序。因此您可以在多個線程之間轉(zhuǎn)換,掛起、恢復(fù)、終止線程或是改變線程優(yōu)先級。并且線程窗口將會顯示每個線程的錯誤(就像調(diào)用 GETLASTERROR 返回一樣)。
分析:OllyDbg 的最大特點(diǎn)之一就是分析。它會分析函數(shù)過程、循環(huán)語句、選擇語句、表[tables]、常量、代碼中的字符串、欺騙性指令[tricky constructs]、API調(diào)用、函數(shù)中參數(shù)的數(shù)目,import表等等.. 這些分析增加了二進(jìn)制代碼的可讀性,減少了出錯的可能性,使得我們的調(diào)試工作更加容易。
Object掃描。OllyDbg 可以掃描Object文件/庫(包括 OMF 和 COFF 格式),解壓代碼段[code segments]并且對其位置進(jìn)行定向。
Implib掃描。由于一些DLL文件的輸出函數(shù)使用的索引號,對于人來說,這些索引號沒有實(shí)際含義。如果您有與DLL相應(yīng)的輸入庫[import library],OllyDbg 就可以將序號轉(zhuǎn)換成符號名稱。
完全支持Unicode:幾乎所有支持 ASCⅡ 的操作同時也支持 UNICODE,反之亦然。
名稱:OllyDbg 可以根據(jù) Borland 和 Microsoft 格式的調(diào)試信息,顯示輸入/輸出符號及名稱。Object 掃描器可以識別庫函數(shù)。其中的名稱和注釋您可任意添加。如果DLL中的某些函數(shù)是通過索引號輸出的,則您可通過掛接輸入庫[import library]來恢復(fù)原來的函數(shù)名稱。不僅如此,OllyDbg還能識別大量的常量符號名(如:窗口消息、錯誤代碼、位域[bit fields]…)并能夠解碼為已知的函數(shù)調(diào)用。
已知函數(shù):OllyDbg 可以識別 2300 多個 C 和 Windows API 中的常用函數(shù)及其使用的參數(shù)。您可以添加描述信息、預(yù)定義解碼。您還可以在已知函數(shù)設(shè)定 Log斷點(diǎn)并可以對參數(shù)進(jìn)行記錄。
函數(shù)調(diào)用:OllyDbg 可以在沒有調(diào)試信息或函數(shù)過程使用非標(biāo)準(zhǔn)的開始部分[prolog]和結(jié)尾部分[epilog]的情況下,對遞歸調(diào)用進(jìn)行回溯。

【OLLYDBG界面構(gòu)成】
OllyDbg發(fā)行版是一個ZIP壓縮包,只要解壓運(yùn)行OllyDbg.exe即可。運(yùn)行OllyDbg打開進(jìn)程,主窗口顯示反匯編清單。各窗口的外觀屬性如:“標(biāo)題欄(bar)、字體(font)”等在右鍵菜單"界面選項(xiàng)(appearance)"里控制。代碼窗口
代碼窗口(OllyDbg幫助文件自稱反匯編窗口)顯示被調(diào)試程序的代碼。他有四個列:地址/Address(虛擬地址)HEX數(shù)據(jù)/HEX dump(機(jī)器碼)/Disassembly(反匯編) 注釋/Comment(注釋)
最后一列注釋(Comment)顯示相關(guān)API參數(shù)或運(yùn)行簡表,非常有用,有點(diǎn)類似于IDA Pro。
在代碼窗口(地址行,不是列標(biāo)題)雙擊時完成動作。
●地址(Address)列:顯示相對被雙擊地址的地址,再次雙擊返回標(biāo)準(zhǔn)地址模式;
●HEX數(shù)據(jù)(HEX dump)列:設(shè)置或取消無條件斷點(diǎn),按F2鍵也能設(shè)置斷點(diǎn);
●反匯編(Disassembly)列:調(diào)試編輯器,可直接修改匯編代碼;
●注釋(Comment)列:允許增加或編輯注釋。
代碼窗口允許瀏覽、分析、搜索和修改代碼,保存改變到可執(zhí)行文件,設(shè)置斷點(diǎn)等。相關(guān)彈出式菜單包括100多項(xiàng)。
信息窗口(Information window)
動態(tài)跟蹤時,與指令相關(guān)的各寄存器的值、API函數(shù)調(diào)用提示、跳轉(zhuǎn)提示等信息顯示。
數(shù)據(jù)窗口
以十六進(jìn)制或內(nèi)存方式顯示文件在內(nèi)容中的數(shù)據(jù),類似于softICE的數(shù)據(jù)窗口。要顯示數(shù)據(jù)可單擊右鍵"轉(zhuǎn)到→表達(dá)式(Go to→expression)"或按Ctrl+G鍵打開地址窗口,輸入地址。
寄存器(Registers window)
顯示CPU各寄存器的值,支持浮點(diǎn)(FPU)、MMX,3DNow!寄存器,可以單擊鼠標(biāo)右鍵切換。
堆棧窗口(Stack window)
堆棧窗口非常重要,各API函數(shù)、子程序等都利用它傳遞參數(shù)、變量等。OllyDbg堆棧窗口功能強(qiáng)大。如果傳遞的參數(shù)都是字符串,OllyDbg會在注釋里直接將其顯示出來,再也不用像SoftICE那樣經(jīng)常用D命令查看內(nèi)存數(shù)據(jù)了。

【如何使用ollydbg修改字符串】
1.打開ollydbg,載入目標(biāo)程序,如下圖。
2.在匯編窗口中點(diǎn)擊鼠標(biāo)右鍵,選中strfinder字符查找插件,選擇搜索ascII字符串,如下圖。

3.找到我們要修改的字符串,雙擊追蹤到匯編窗口,如下圖。

4.在匯編窗口中,點(diǎn)擊鼠標(biāo)右鍵,選擇數(shù)據(jù)窗口中跟隨,立即常數(shù),如下圖。

5.在數(shù)據(jù)窗口中,選擇一段內(nèi)存,不要超過了原來字符串的長度,點(diǎn)擊鼠標(biāo)右鍵,選擇編輯--二進(jìn)制編輯,如下圖。

6.在編輯數(shù)據(jù)地址對話框中的mbcs欄輸入我們的字符,如下圖。

7.點(diǎn)擊hex欄,在剛剛改過的字符后面輸入00 00來截斷字符串,點(diǎn)擊確定,如下圖。

8.點(diǎn)擊鼠標(biāo)右鍵,選擇編輯--復(fù)制所有改變到可執(zhí)行文件,如下圖。

9.點(diǎn)擊鼠標(biāo)右鍵,點(diǎn)擊保存文件,如下圖 。

10.在彈出的文件已更改的提示中,選擇是,如下圖。

11.輸入文件名,點(diǎn)擊保存,如下圖。

12.雙擊打開我們保存的程序,修改成功,結(jié)果如下圖。

【如何用ollydbg打開應(yīng)用程序】
方法1:1.右擊ollydbg程序,應(yīng)管理員權(quán)限運(yùn)行,如下圖。

2.點(diǎn)擊菜單欄的file---open,如下圖。

3.選擇我們脫殼后的程序,這里我們選擇unpacked.exe,如下圖。

4.這時,我們的應(yīng)用程序停在了程序入口處,如下圖。

方法2:
1.運(yùn)行我們要調(diào)試的應(yīng)用程序,如下圖。

2.應(yīng)管理員方式運(yùn)行ollydbg,如下圖。

3.點(diǎn)擊菜單欄的file----attach,如下圖。

4.選擇我們要調(diào)試的進(jìn)程,點(diǎn)擊attach按鈕,如下圖。

5.這時,我們也成功載入了要調(diào)試的程序,如下圖。

【OllyDbg漢化版更新日志】
1、界面采用 BoOMBoX/TSRh2004 制作的美化界面,主要為了好看一點(diǎn)。2、絕大部分句子都重新翻譯過,力求做到準(zhǔn)確。
3、配置文件中除字體、語法高亮、顏色這幾個部分保留為中文外,其它的都恢復(fù)為英文。保留字體、語法高亮、顏色這幾個部分為中文的目的是因?yàn)槲野l(fā)現(xiàn)若先運(yùn)行過英文版配置好后,漢化版中對應(yīng)這幾個部分的一些菜單也會取原英文版配置中的英文字串,而不是漢化過的字串。我覺得翻譯后既能保持與英文版的兼容性,又能讓英文版與中文版的界面等互不干擾。
4、dyk158 建議我把配置文件中的字體、語法高亮、顏色這幾個部分恢復(fù)為英文,我專門做了個恢復(fù)為英文配置的補(bǔ)?。ㄈ绻阋郧斑\(yùn)行過英文版進(jìn)行了相應(yīng)配置,則補(bǔ)丁后的漢化版本對應(yīng)這幾個部分的相應(yīng)菜單將會顯示英文,若你是用打過這個補(bǔ)丁的漢化版本生成配置文件,則相應(yīng)菜單將會顯示中文)放在英文配置補(bǔ)丁目錄下,需要字體、語法高亮、顏色這部分也用英文配置的朋友可以把這個補(bǔ)丁放到我做的漢化版的安裝目錄,選擇 Ollydbg.exe 補(bǔ)丁就可以了。這個補(bǔ)丁同樣適用于原版界面的漢化版本。
5、上一版中部分未漢化的內(nèi)容這次除了不能漢化的外,基本上都已漢化。
6、另有一個界面未作美化的漢化版放在原版界面目錄,可以按自己的喜好選擇使用哪一個。
7、FixOD 目錄下放的是用 freecat 的 AutoPath.dll 打過補(bǔ)丁的 OllyDBG,使用前請先備份好你原來的Ollydbg.exe文件,再把這個目錄下的Ollydbg.exe、AutoPath.dll復(fù)制到你的OllyDBG安裝目錄下就可以了。

































