
【軟件介紹】
OllyDBG中文破解版是一款非常不錯的軟件逆向分析工具,在國內(nèi)大多數(shù)的人都是使用OllyDbg來修改破解軟件。OLLYDBG是一個新的動態(tài)追蹤工具,將IDA與SoftICE結(jié)合起來的思想,Ring 3級調(diào)試器,非常容易上手,己代替SoftICE成為當(dāng)今最為流行的調(diào)試解密工具了。同時還支持插件擴展功能,是目前最強大的調(diào)試工具。
【軟件特色】
1、目前為止最流行的調(diào)試解密工具2、減少了出錯的可能性,使調(diào)試工作更加容易
3、是反匯編工作的常用工具
4、附帶了118脫殼腳本和各種插件
5、支持Windows平臺下的32/64位系統(tǒng)上使用
6、功能非常強大,已經(jīng)完全取代了SoftICE

【功能說明】
啟動您可以采用命令行的形式指定可執(zhí)行文件、也可以從菜單中選擇,或直接拖放到OllyDbg反匯編工具中,或者重新啟動上一個被調(diào)試程序,或是掛接[Attach]一個正在運行的程序。OllyDbg支持即時調(diào)試,根本不需要安裝,可直接在軟盤中運行!
線程
OllyDbg反匯編工具可以調(diào)試多線程程序。因此您可以在多個線程之間轉(zhuǎn)換,掛起、恢復(fù)、終止線程或是改變線程優(yōu)先級。并且線程窗口將會顯示每個線程的錯誤(就像調(diào)用 GETLASTERROR 返回一樣)。
調(diào)試DLLs
您可以利用OllyDbg調(diào)試標(biāo)準(zhǔn)動態(tài)鏈接庫(DLLs)。OllyDbg 會自動運行一個可執(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可以根據(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斷點并可以對參數(shù)進(jìn)行記錄。
函數(shù)調(diào)用
OllyDbg反匯編工具可以在沒有調(diào)試信息或函數(shù)過程使用非標(biāo)準(zhǔn)的開始部分[prolog]和結(jié)尾部分[epilog]的情況下,對遞歸調(diào)用進(jìn)行回溯。
配置
有多達(dá)百余個選項用來設(shè)置OllyDbg 的外觀和運行。
數(shù)據(jù)格式:OllyDbg 的數(shù)據(jù)窗口能夠顯示的所有數(shù)據(jù)格式:HEX、ASCⅡ、UNICODE、 16/32位有/無符號/HEX整數(shù)、32/64/80位浮點數(shù)、地址、反匯編(MASM、IDEAL或是HLA)、PE文件頭或線程數(shù)據(jù)塊。
運行環(huán)境
OllyDbg可以以在任何采用奔騰處理器的 Windows 95、98、ME、NT 或是 XP(未經(jīng)完全測試)操作系統(tǒng)中工作,但我們強烈建議您采用300-MHz以上的奔騰處理器以達(dá)到最佳效果。還有,OllyDbg 是極占內(nèi)存的,因此如果您需要使用諸如追蹤調(diào)試[Trace]之類的擴展功能話,建議您最好使用128MB以上的內(nèi)存。
支持的處理器
OllyDbg 支持所有 80x86、奔騰、MMX、3DNOW!、Athlon擴展指令集、SSE指令集以及相關(guān)的數(shù)據(jù)格式,但是不支持SSE2指令集。

【常用快捷鍵】
F2:設(shè)置斷點,只要在光標(biāo)定位的位置按F2鍵即可,再按一次F2鍵則會刪除斷點。F8:單步步過。每按一次這個鍵執(zhí)行一條反匯編窗口中的一條指令,遇到 CALL 等子程序不進(jìn)入其代碼。
F7:單步步入。功能同單步步過(F8)類似,區(qū)別是遇到 CALL 等子程序時會進(jìn)入其中,進(jìn)入后首先會停留在子程序的第一條指令上。
F4:運行到選定位置。作用就是直接運行到光標(biāo)所在位置處暫停。
F9:運行。按下這個鍵如果沒有設(shè)置相應(yīng)斷點的話,被調(diào)試的程序?qū)⒅苯娱_始運行。
CTR+F9:執(zhí)行到返回。此命令在執(zhí)行到一個 ret (返回指令)指令時暫停,常用于從系統(tǒng)領(lǐng)空返回到我們調(diào)試的程序領(lǐng)空。
ALT+F9:執(zhí)行到用戶代碼??捎糜趶南到y(tǒng)領(lǐng)空快速返回到我們調(diào)試的程序領(lǐng)空。

【使用教程】
修改字符串打開ollydbg,載入目標(biāo)程序,如下圖。

在匯編窗口中點擊鼠標(biāo)右鍵,選中strfinder字符查找插件,選擇搜索ascII字符串,如下圖。

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

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

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

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

點擊hex欄,在剛剛改過的字符后面輸入00 00來截斷字符串,點擊確定,如下圖。

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

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

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

輸入文件名,點擊保存,如下圖。

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

在ollydbg中設(shè)置斷點
打開ollydbg,加載需要調(diào)試的程序,如下圖。

找到我們需要下斷點的地方,點擊F2,這時在地址處就有紅色表示,即為斷點,如下圖。

下完斷點后,我們點擊運行,工具欄上的三角符號,這時程序?qū)⑦\行到我們下斷點的位置,這時我們可以看到內(nèi)存數(shù)據(jù)和寄存器都有變化,如下圖。

再次點擊f2,可以取消斷點,如下圖。

如果我們想重新加載程序,我們可以點擊工具欄的額后退按鈕,如下圖。

點擊后,ollydbg會提示重新加載可執(zhí)行文件,我們點擊yes,如下圖。

稍等片刻,將會加載完成,程序停在程序執(zhí)行的入口,如下圖。

【常見問題】
怎樣保存ollydbg的調(diào)試信息以便下次使用?調(diào)試菜單->;選擇符號路徑 然后在彈出的對話框設(shè)置路徑即可。注意調(diào)試文件為udd格式,,當(dāng)被調(diào)試文件路徑發(fā)生變化時調(diào)試信息不再可用,,比如:你在C盤有一個文件用ollydby調(diào)試并加入注視或斷點后,,把這個文件移到別的路徑下,再用ollydbg打開調(diào)試信息注視和斷點不被顯示。
斷點和注釋窗口只能查看到當(dāng)前模塊的斷點和注釋,且當(dāng)前被ollydbg分析為代碼的斷點和注釋才能被看到。
【更新日志】
1.對Ollydbg的窗口簽名進(jìn)行了更改,從而避免被針對性檢測。2.對Ollydbg的菜單做出調(diào)整。
3.針對一些有可能被檢測的插件進(jìn)行了刪減。
4.修改了一些可能被檢測的內(nèi)容。
5.更新ollydbg的插件為目前較新的版本。

































