OllyDbg是一個功能強大的od反匯編工具,我們在對軟件進行反匯編的時候經常會用到。軟件本身附帶了脫殼腳本和各種插件,能夠支持Windows平臺下的32/64位系統上使用是反匯編工作必備的調試工具,基本已經完全取代了SoftICE。本次帶來的是OllyDbg漢化版,并且是綠色安裝包,解壓后就可以直接使用了。
如果大家要想要修改的版本的話,推薦使用freecat兄弟制作的AutoPath,我已經把這個插件放在FixOD目錄下,我把freecat兄弟發布時所用的說明也放在同一目錄下,大家可以根據說明來使用這個插件改造你的OllyDBG。
軟件特色
1、代碼分析-跟蹤寄存器、識別過程、循環、API調用、開關、表、常量和字符串
2、允許用戶定義標簽、注釋和功能描述
3、調試多線程應用程序
4、解碼對1900多個標準api和400多個c函數的調用
5、設置條件、日志記錄、內存和硬件斷點
6、動態跟蹤堆棧幀
7、查找對常量或地址范圍的引用
軟件功能
1、多語言圖形用戶界面
2、支持AVS指令
3、調用堆棧窗口
4、SEH和VEH鏈條
5、多字節字符轉儲
6、在轉儲中搜索整數和浮點數
7、使用int1、hlt、cli、sti或insb而不是int3的軟件斷點
8、對ntfs流的有限支持
9、支持重復計數
10、立即數據語句的匯編(db xx等)
11、突出顯示運行中跟蹤
12、更復雜的代碼序列
13、顯示可用內存。
使用說明
一、基礎知識
1.1、基礎使用
該軟件是Windows平臺下Ring3級的程序調試利器。程序調試有靜態調試和動態調試兩種。靜態調試是指將程序源代碼編譯成可執行程序之前,用手工或編譯程序等方法對程序源代碼進行測試,來查找和修正程序中的語法錯誤和邏輯錯誤。動態調試則是在可執行程序的運行過程中,來查找和修正程序中的語法錯誤和邏輯錯誤。隨著系統安全與逆向工程的不斷發展,程序調試已經成為信息安全愛好者所必備的一種技術。OD結合了靜態調試和動態調試的方法,功能強大,已經成為了Windows平臺下普通應用程序的調試利器。
1.2、PE文件
PE文件的全稱是Portable Executable,意為可移植的可執行的文件,常見的EXE、DLL、OCX、SYS、COM都是PE文件
1.3、寄存器
EAX 是”累加器”(accumulator), 它是很多加法乘法指令的缺省寄存器。
EBX 是”基地址”(base)寄存器, 在內存尋址時存放基地址。
ECX 是計數器(counter), 是重復(REP)前綴指令和LOOP指令的內定計數器。
EDX 則總是被用來放整數除法產生的余數。
ESI/EDI分別叫做”源/目標索引寄存器”(source/destination index),因為在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目標串。
EBP是”基址指針”(BASE POINTER), 它最經常被用作高級語言函數調用的”框架指針”(frame pointer)。
二、OD的各個窗口
2.1、反匯編窗口
2.2、信息窗口
2.3、數據窗口
用于顯示內存或文件的內容。可以從以下預處理格式中選擇一種顯示方式:字節[byte]、文本[text]、整數[integer]、浮點數[float]、地址[address],反匯編[disassembly]、PE頭[PE Header]。
2.4、寄存器窗口
用于顯示和解釋當前所選線程的CPU寄存器中的內容。該窗口同樣允許修改寄存器,并可以跟進地址到其它CPU窗口。
2.5、堆棧窗口
用于顯示當前線程的堆棧。當被調試程序暫停運行時,堆棧窗口一般會自動滾動將當前ESP指向的地址放在窗口的第一條。并且這個地址被高亮顯示。在某些情況下禁止滾動會更方便一些,可以通過在堆棧窗口右鍵單擊[鎖定堆棧]來禁止堆棧自動滾動。
2.6、其他窗口
L -> 日志窗口
E -> 顯示程序運行使用的模塊
M -> 顯示我們程序映射到內存的信息
T -> 顯示程序的線程窗口
W -> Windows顯示程序窗口
H -> 句柄窗口
C -> 回到主窗口,CPU窗口
P -> 如果程序經過了修改,這里顯示修改的信息
K -> 顯示調用堆棧的窗口信息
B -> 顯示程序普通斷點的列表窗口
R -> Reference 參考窗口,顯示我們在軟件中搜索的結果。
… -> 顯示 RUN TRACE(RUN 跟蹤)命令的結果
三、OD的各種初始設置及快捷鍵
3.1、怎樣設置實時調試
當然,我們不一定會用到實時調試,除非特殊情況。因為如果我們運行的程序出現崩潰時。
選項 -> 實時調試設置
3.2、在 軟件中關聯插件
允許你使用插件,這樣會對解決問題有所幫助
首先下載插件,解壓插件文件夾,為插件建立一個文件夾(可以在任意位置)
選項->界面選項
我們看到作為插件路徑的目錄已被指定,即 OllyDbg.exe 所在的目錄,可以把插件放在那里
3.3、最常用的快捷鍵
F7 執行一行代碼,遇到 CALL 等子程序時會進入其中,進入后首先會停留在子程序的第一條 指令上。
F8 執行一行代碼,遇到 CALL 等子程序不進入其代碼。
這兩個鍵的功能有所不同,以后將會看到。
F2 在顯著行設置斷點,再次按 F2 刪除斷點。
相關版本
-
7 SoftICE
裝機必備軟件
網友評論