當(dāng)前位置:電腦軟件 > 編程開(kāi)發(fā) > 調(diào)試編譯 > ollydbg中文版v2.1綠色版

ollydbg中文版v2.1綠色版

大?。?2.29MB語(yǔ)言:簡(jiǎn)體中文類別:調(diào)試編譯

類型:國(guó)產(chǎn)軟件授權(quán):免費(fèi)軟件時(shí)間:2018/1/11

官網(wǎng):

環(huán)境:Windows8,Windows7,WinVista,WinXP

安全檢測(cè):無(wú)插件360通過(guò)騰訊通過(guò)金山通過(guò)瑞星通過(guò)

本地下載

ollydbg是一款簡(jiǎn)單好用的Windows平臺(tái)下的32/64位反匯編工具,將IDA與SoftICE結(jié)合起來(lái)的思想,Ring3級(jí)調(diào)試器,使用簡(jiǎn)便易上手。它擅長(zhǎng)分析函數(shù)過(guò)程、循環(huán)語(yǔ)句、選擇語(yǔ)句、表[tables]、常量、欺騙性指令、API調(diào)用等等,這些分析增加了二進(jìn)制代碼的可讀性,減少了出錯(cuò)的可能性,使得調(diào)試工作更加容易。還支持插件擴(kuò)展功能,可以設(shè)置斷點(diǎn),增加標(biāo)簽和注釋,修改寄存器和內(nèi)存。軟件學(xué)堂提供ollydbg綠色漢化版下載,可在win7/8 64位系統(tǒng)下運(yùn)行,無(wú)需安裝即可使用!
特別說(shuō)明:本站擁有基礎(chǔ)使用教程的下載,需要者可以前來(lái)下載哦!下載地址:ollydbg教程
ollydbg

功能特色

1、數(shù)據(jù)格式
工具的數(shù)據(jù)窗口能夠顯示的所有數(shù)據(jù)格式:HEX、ASCⅡ、UNICODE、 16/32位有/無(wú)符號(hào)/HEX整數(shù)、32/64/80位浮點(diǎn)數(shù)、地址、反匯編(MASM、IDEAL或是HLA)、PE文件頭或線程數(shù)據(jù)塊。
2、調(diào)試DLLs
您可以利用它調(diào)試標(biāo)準(zhǔn)動(dòng)態(tài)鏈接庫(kù)(DLLs)。將會(huì)自動(dòng)運(yùn)行一個(gè)可執(zhí)行程序。這個(gè)程序會(huì)加載鏈接庫(kù),并允許您調(diào)用鏈接庫(kù)的輸出函數(shù)。
3、源碼級(jí)調(diào)試
可以識(shí)別所有 Borland 和 Microsoft 格式的調(diào)試信息。這些信息包括源代碼、函數(shù)名、標(biāo)簽、全局變量、靜態(tài)變量。有限度的支持動(dòng)態(tài)(棧)變量和結(jié)構(gòu)。 代碼高亮 OllyDbg 的反匯編器可以高亮不同類型的指令(如:跳轉(zhuǎn)、條件跳轉(zhuǎn)、入棧、出棧、調(diào)用、返回、特殊的或是無(wú)效的指令)和不同的操作數(shù)(常規(guī)[general]、FPU/SSE、段/系統(tǒng)寄存器、在?;騼?nèi)存中的操作數(shù),常量)。您可以定制個(gè)性化高亮方案。 線程工具可以調(diào)試多線程程序。因此您可以在多個(gè)線程之間轉(zhuǎn)換,掛起、恢復(fù)、終止線程或是改變線程優(yōu)先級(jí)。并且線程窗口將會(huì)顯示每個(gè)線程的錯(cuò)誤(就像調(diào)用 GETLASTERROR 返回一樣)。
4、分析
它的最大特點(diǎn)之一就是分析。它會(huì)分析函數(shù)過(guò)程、循環(huán)語(yǔ)句、選擇語(yǔ)句、表[tables]、常量、代碼中的字符串、欺騙性指令[tricky constructs]、API調(diào)用、函數(shù)中參數(shù)的數(shù)目,import表等等.. 這些分析增加了二進(jìn)制代碼的可讀性,減少了出錯(cuò)的可能性,使得我們的調(diào)試工作更加容易。
5、線程
可以調(diào)試多線程程序。因此您可以在多個(gè)線程之間轉(zhuǎn)換,掛起、恢復(fù)、終止線程或是改變線程優(yōu)先級(jí)。并且線程窗口將會(huì)顯示每個(gè)線程的錯(cuò)誤(就像調(diào)用 GETLASTERROR 返回一樣)。
6、已知函數(shù)
可以識(shí)別 2300 多個(gè) C 和 Windows API 中的常用函數(shù)及其使用的參數(shù)。您可以添加描述信息、預(yù)定義解碼。您還可以在已知函數(shù)設(shè)定 Log斷點(diǎn)并可以對(duì)參數(shù)進(jìn)行記錄。 函數(shù)調(diào)用工具可以在沒(méi)有調(diào)試信息或函數(shù)過(guò)程使用非標(biāo)準(zhǔn)的開(kāi)始部分[prolog]和結(jié)尾部分[epilog]的情況下,對(duì)遞歸調(diào)用進(jìn)行回溯。

常見(jiàn)問(wèn)題

1、有哪些常識(shí)?
一、機(jī)械碼,又稱機(jī)器碼.
 ultraedit打開(kāi),編輯exe文件時(shí)你會(huì)看到
許許多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F組成的數(shù)碼,這些數(shù)碼
就是機(jī)器碼.
修改程序時(shí)必須通過(guò)修改機(jī)器碼來(lái)修改exe文件.
二、需要熟練掌握的全部匯編知識(shí)(只有這么多)
不大容易理解,可先強(qiáng)行背住,混個(gè)臉兒熟,以后慢慢的就理解了
cmp a,b 比較a與b
mov a,b 把b的值送給a
ret 返回主程序
nop 無(wú)作用,英文“no operation”的簡(jiǎn)寫(xiě),意思是“do nothing”(機(jī)器碼90)***機(jī)器碼的含義參看上面
(解釋:ultraedit打開(kāi)編輯exe文件時(shí)你看到90,等同于匯編語(yǔ)句nop)
call 調(diào)用子程序
je 或jz 若相等則跳(機(jī)器碼74 或0F84)
jne或jnz 若不相等則跳(機(jī)器碼75或0F85)
jmp 無(wú)條件跳(機(jī)器碼EB)
jb 若小于則跳
ja 若大于則跳
jg 若大于則跳
jge 若大于等于則跳
jl 若小于則跳
jle 若小于等于則跳
pop 出棧
push 壓棧
三、常見(jiàn)修改(機(jī)器碼)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB
jnz->nop
75->90(相應(yīng)的機(jī)器碼修改)
jnz -> jmp
75 -> EB(相應(yīng)的機(jī)器碼修改)
jnz -> jz
75->74 (正常) 0F 85 -> 0F 84(特殊情況下,有時(shí),相應(yīng)的機(jī)器碼修改)
四、兩種不同情況的不同修改方法
a、修改為jmp
je(jne,jz,jnz) =>jmp相應(yīng)的機(jī)器碼EB (出錯(cuò)信息向上找到的第一個(gè)跳轉(zhuǎn))jmp的作用是絕對(duì)跳,無(wú)條件跳,從而跳過(guò)下面的出錯(cuò)信息
xxxxxxxxxxxx 出錯(cuò)信息,例如:注冊(cè)碼不對(duì),sorry,未注冊(cè)版不能...,"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in Shareware/Demo"等 (我們希望把它跳過(guò),不讓它出現(xiàn))
xxxxxxxxxxxx 正確路線所在
b、修改為nop
je(jne,jz,jnz) =>nop相應(yīng)的機(jī)器碼90 (正確信息向上找到的第一個(gè)跳轉(zhuǎn)) nop的作用是抹掉這個(gè)跳轉(zhuǎn),使這個(gè)跳轉(zhuǎn)無(wú)效,失去作用,從而使程序順利來(lái)到緊跟其后的正確信息處
xxxxxxxxxxxx 正確信息,例如:注冊(cè)成功,謝謝您的支持等(我們希望它不被跳過(guò),讓它出現(xiàn),程序一定要順利來(lái)到這里)
xxxxxxxxxxxx 出錯(cuò)信息(我們希望不要跳到這里,不讓它出現(xiàn))
2、修改程序怎么用 ?
選中你修改的數(shù)據(jù) 右鍵>復(fù)制可執(zhí)行文件>有選擇部分和全部修改部分 ,彈出一個(gè)窗口,右鍵,保存文件就OK 。

常用快捷鍵

(CPU窗口中的反匯編面板[Disassembler pane]處于激活狀態(tài)時(shí)可用)
回車鍵- 將選中的命令添加到命令歷史[command history]中,如果當(dāng)前命令是一個(gè)跳轉(zhuǎn)、函數(shù)或者是轉(zhuǎn)換表的一個(gè)部分,則進(jìn)入到目的地址。 退格鍵 - 移除選中部分的自動(dòng)分析信息。如果分析器將代碼誤識(shí)別為數(shù)據(jù),這個(gè)快捷鍵就非常有用。請(qǐng)參考解碼提示[decoding hints]。Alt+退格鍵 - 撤消所選部分的修改,以備份數(shù)據(jù)的相應(yīng)內(nèi)容替換所選部分。僅當(dāng)備份數(shù)據(jù)存在且與所選部分不同時(shí)可用。 
Ctrl+F1 -如果API幫助文件已經(jīng)選擇,將打開(kāi)與首個(gè)選擇行內(nèi)的符號(hào)名相關(guān)聯(lián)的幫助主題。 
F2 -在首個(gè)選擇的命令上開(kāi)關(guān)INT3 斷點(diǎn)[Breakpoint],也可以雙擊該行第二列。 
Shift+F2 -在首個(gè)選擇命令設(shè)置條件斷點(diǎn)。
F4 -執(zhí)行到所選行,在首個(gè)選擇的命令上設(shè)置一次性斷點(diǎn),然后繼續(xù)執(zhí)行調(diào)試程序,直到工具捕獲到異?;蛘咄V乖谠摂帱c(diǎn)上。在程序執(zhí)行到該命令之前,該一次性斷點(diǎn)一直有效。如有必要,可在斷點(diǎn)窗口[Breakpoints window]中刪除它。 
Shift+F4 -設(shè)置記錄斷點(diǎn)(一種條件斷點(diǎn),當(dāng)條件滿足時(shí)一些表達(dá)式的值會(huì)記錄下來(lái))。
Ctrl+F5 -打開(kāi)與首個(gè)選擇的命令相對(duì)應(yīng)的源文件。 
Alt+F7 -轉(zhuǎn)到上一個(gè)找到的參考。 
Alt+F8 -轉(zhuǎn)到下一個(gè)找到參考。 
Ctrl+A -分析當(dāng)前模塊的代碼段。 
Ctrl+B - 開(kāi)始二進(jìn)制搜索。 
Ctrl+C -復(fù)制所選內(nèi)容到剪貼板。復(fù)制時(shí)會(huì)簡(jiǎn)單地按列寬截?cái)嗖豢梢?jiàn)內(nèi)容,如果希望排除不需要的列,可把這些列的寬度調(diào)整到最小。 
Ctrl+E -以二進(jìn)制(十六進(jìn)制)格式編輯所選內(nèi)容。 
Ctrl+F -開(kāi)始命令搜索。 
Ctrl+G -轉(zhuǎn)到某地址。該命令將彈出輸入地址或表達(dá)式的窗口。該命令不會(huì)修改 EIP。 
Ctrl+J -列出所有的涉及到該位置的調(diào)用和跳轉(zhuǎn),在您用這個(gè)功能之前,您必須使用分析代碼功能。 
Ctrl+K - 查看與當(dāng)前函數(shù)相關(guān)的調(diào)用樹(shù)[Call tree]。在您用這個(gè)功能之前,您必須使用分析代碼功能。 
Ctrl+L - 搜索下一個(gè),重復(fù)上一次的搜索內(nèi)容。 
Ctrl+N - 打開(kāi)當(dāng)前模塊的名稱(標(biāo)簽)列表。 
Ctrl+O - 掃描object文件。掃描Object文件。該命令會(huì)顯示掃描Object文件對(duì)話框,您可以在該對(duì)話框中選擇Object文件或者lib文件,并掃描這個(gè)文件,試圖找到在實(shí)際代碼段中用到的目標(biāo)模塊。 
Ctrl+R -搜索所選命令的參考。該命令掃描激活模塊的全部可執(zhí)行代碼,以找到涉及到首個(gè)選中的命令的全部相關(guān)參考(包括:常量、跳轉(zhuǎn)及調(diào)用),您可以在參考中使用快捷鍵Alt+F7 和 Alt+F8來(lái)瀏覽這些參考。為便于您使用,被參考的命令也包含在該列表中。 
Ctrl+S -命令搜索。該命令顯示命令查找對(duì)話框供您輸入?yún)R編命令,并從當(dāng)前命令開(kāi)始搜索。 星號(hào)[Asterisk](*) -轉(zhuǎn)到原始位置(激活線程的EIP處)。 
Ctrl+星號(hào)(*) - 指定新的起始位置,設(shè)置當(dāng)前所選線程的EIP為首個(gè)選擇字節(jié)的地址。您可以在選擇EIP并撤消該操作。 加號(hào)[Plus](+) -如果run跟蹤[run trace] 沒(méi)有激活,則根據(jù)命令歷史跳到下一條運(yùn)行過(guò)命令的地方;否則跳到Run跟蹤的下一個(gè)記錄。 
Ctrl+加號(hào) - 跳到前一個(gè)函數(shù)開(kāi)始處。(注意只是跳到,并不執(zhí)行) 
減號(hào)[Minus](-) - 如果run跟蹤[run trace] 沒(méi)有激活,則根據(jù)命令歷史跳到前一條運(yùn)行過(guò)命令的地方;否則跳到Run跟蹤的前一個(gè)記錄。 
Ctrl+減號(hào) - 跳到下一個(gè)函數(shù)開(kāi)始處。(注意只是跳到,并不執(zhí)行) 
空格[Space] - 修改命令。您可在顯示對(duì)話框中以匯編語(yǔ)言修改實(shí)際指令或輸入新指令,這些指令將替換實(shí)際代碼,您也可以在想要修改的指令處雙擊鼠標(biāo)。 
冒號(hào)[Colon](:) - 添加標(biāo)簽。顯示添加標(biāo)簽窗口[Add label]或修改標(biāo)簽窗口,您可在此輸入與首個(gè)選擇的命令中的第一個(gè)字節(jié)相關(guān)聯(lián)的標(biāo)簽(符號(hào)名)。注意,在多種編程語(yǔ)言中,冒號(hào)可以是標(biāo)簽的一部分 
分號(hào)[Semicolon](;) - 添加注釋[comment]。顯示添加注釋窗口[Add label]或修改注釋窗口,您可在此輸入與首條所選命令的第一個(gè)字節(jié)相關(guān)聯(lián)的注釋(注釋串會(huì)顯示在最后一列中)。
注意:多種匯編語(yǔ)言使用分號(hào)作為注釋開(kāi)始。您也可以在注釋列雙擊需要注釋的命令行。

更新日志

ollydbg v2.01
1、對(duì)它的窗口簽名進(jìn)行了更改,從而避免被針對(duì)性檢測(cè)。
2、對(duì)它的菜單做出調(diào)整。
3、針對(duì)一些有可能被檢測(cè)的插件進(jìn)行了刪減。
4、修改了一些可能被檢測(cè)的內(nèi)容。
5、更新工具的插件為目前較新的版本。
下載地址

有問(wèn)題?點(diǎn)擊報(bào)錯(cuò)+投訴+提問(wèn)

網(wǎng)友評(píng)論

0條評(píng)論

評(píng)分:
captcha 評(píng)論需審核后才能顯示