ollydbg(od反匯編工具)是當前逆向工程主流的動態跟蹤調試工具,ollydbg適合32位動態調試,調試過程可隨時插入全局標簽,過程直觀簡練,是反匯編工作必備的調試工具。
OllyDbg功能介紹
啟動
您可以采用命令行的形式指定可執行文件、也可以從菜單中選擇,或直接拖放到OllyDbg中,或者重新啟動上一個被調試程序,或是掛接[Attach]一個正在運行的程序。OllyDbg支持即時調試,根本不需要安裝,可直接在軟盤中運行!
線程
OllyDbg可以調試多線程程序。因此您可以在多個線程之間轉換,掛起、恢復、終止線程或是改變線程優先級。并且線程窗口將會顯示每個線程的錯誤(就像調用 GETLASTERROR 返回一樣)。
調試DLLs
您可以利用OllyDbg調試標準動態鏈接庫(DLLs)。OllyDbg 會自動運行一個可執行程序。這個程序會加載鏈接庫,并允許您調用鏈接庫的輸出函數。
源碼級調試
OllyDbg可以識別所有 Borland 和 Microsoft 格式的調試信息。這些信息包括源代碼、函數名、標簽、全局變量、靜態變量。有限度的支持動態(棧)變量和結構。
代碼高亮
OllyDbg的反匯編器可以高亮不同類型的指令(如:跳轉、條件跳轉、入棧、出棧、調用、返回、特殊的或是無效的指令)和不同的操作數(常規[general]、FPU/SSE、段/系統寄存器、在棧或內存中的操作數,常量)。您可以定制個性化高亮方案。
名稱
OllyDbg可以根據 Borland 和 Microsoft 格式的調試信息,顯示輸入/輸出符號及名稱。Object 掃描器可以識別庫函數。其中的名稱和注釋您可任意添加。如果DLL中的某些函數是通過索引號輸出的,則您可通過掛接輸入庫[import library]來恢復原來的函數名稱。不僅如此,OllyDbg還能識別大量的常量符號名(如:窗口消息、錯誤代碼、位域[bit fields]…)并能夠解碼為已知的函數調用。
已知函數
OllyDbg可以識別 2300 多個C 和Windows API 中的常用函數及其使用的參數。您可以添加描述信息、預定義解碼。您還可以在已知函數設定 Log斷點并可以對參數進行記錄。
函數調用
OllyDbg可以在沒有調試信息或函數過程使用非標準的開始部分[prolog]和結尾部分[epilog]的情況下,對遞歸調用進行回溯。
配置
有多達百余個選項用來設置OllyDbg 的外觀和運行。
數據格式:OllyDbg 的數據窗口能夠顯示的所有數據格式:HEX、ASCⅡ、UNICODE、 16/32位有/無符號/HEX整數、32/64/80位浮點數、地址、反匯編(MASM、IDEAL或是HLA)、PE文件頭或線程數據塊。
運行環境
OllyDbg可以以在任何采用奔騰處理器的 Windows 95、98、ME、NT 或是 XP(未經完全測試)操作系統中工作,但我們強烈建議您采用300-MHz以上的奔騰處理器以達到最佳效果。還有,OllyDbg 是極占內存的,因此如果您需要使用諸如追蹤調試[Trace]之類的擴展功能話,建議您最好使用128MB以上的內存。
支持的處理器
OllyDbg 支持所有 80x86、奔騰、MMX、3DNOW!、Athlon擴展指令集、SSE指令集以及相關的數據格式,但是不支持SSE2指令集。
- PC官方版
- 安卓官方手機版
- IOS官方手機版