目錄
動態(tài)分析技術調試器
什么是OllyDbg
OllyDbg能干什么
OllyDbg窗口介紹
1、反匯編面板窗口
2、信息面板窗口
3、數(shù)據(jù)面板窗口
4、寄存器面板窗口
5、棧面板窗口
動態(tài)分析技術調試器
動態(tài)分析技術中最重要的工具是調試器,分為用戶模式和內核模式兩種類型。用戶模式調試器是指用來調試用戶模式應用程序的調試器,工作在Ring3級例如llyDbgx64dbg、VisualC++等編譯器自帶的調試器。內核模式調試器是指能調試操作系統(tǒng)內核的調試器,例如OllyDbg。
什么是OllyDbg
OllyDbg(簡稱“OD”)是由leh Yuschuk(網(wǎng)上查了很久,竟然很少OD作者的消息。在一個國外站點上,我零星地找到一點資料:Oleh Yuschuk: 可能是前蘇聯(lián)->俄羅斯人,前蘇聯(lián)解體后移民德國且一直住在德國一個古老的小城,具體的信息查詢不到)編寫的一款具有可視化界面的用戶模式調試器,可以在當前各種版本的 Windows上運行NT系統(tǒng)架構更能發(fā)揮OllyDbg 的強大功能。
OllyDbg能干什么
OllyDbg結合了動態(tài)調試和靜態(tài)分析,具有 GUI界面,非常容易上手,對異常的跟蹤處理相當靈活。這些特性使OllyDbg成為調試Ring3級程序的首選工具。它的反匯編引擎很強大,可識別數(shù)千個被C和Wimdows頻繁使用的函數(shù),并能將其參數(shù)注釋出來。它會自動分析函數(shù)過程循環(huán)語句代碼中的字符串等。此外,開放式的設計給了這個軟件很強的生命力。通過愛好者們的不斷修改和擴充,OllyDbg的腳本執(zhí)行能力和開放插件接口使其變得越來越強大。
官方的下載地址:OllyDbg v1.10? OllyDbg這里推薦吾愛的插件多超好用。
OllyDbg窗口介紹
OllDbg啟動后會打開多個子窗口,單擊“View”菜單或工具欄上的“L”“E”“M”等快捷按鈕可在各子窗口之間切換如下圖所示。這些快捷按與“View”菜單的功能項對應包括Log窗口CPU窗口等各窗口功能描述請參考0llyDbg的幫助文檔。
?單擊“File”“Open”選項(快捷鍵“F3”)打開一個EXE文件OllyDbg會立即加載文件自動分析并列出匯編代碼。默認的當前窗口是CPU窗口,它是0yDbg中最重要的窗口,對應的圖標是C,調試程序的絕大部分操作都要在這個窗口中進行。該窗口包括5個面板窗口分別是反匯編面板、寄存器面板、信息面板、數(shù)據(jù)面板和棧(stack)面板,如下圖所示。各窗口的外觀屬性例如標題欄(bar)字體(font)等可以通過對應窗口右鍵快捷菜單中的“Appearance”(界面選項)選項控制。
1、反匯編面板窗口
反匯編面板窗口(Disassembler window)顯示被調試程序的代碼有4列分別是地址(Address)十六進制的機器碼(Hexdump)反匯編代碼(Disassembly)和注釋(Comment)。在最后一列注釋中顯示了相關API參數(shù)或運行簡表,非常有用。
?
00B2109B . B9 F8BAB400 mov ecx,路徑修復.00B4BAF8
00B210A0 . E9 26670000 jmp 路徑修復.00B277CB
00B210A5 . B9 FBBAB400 mov ecx,路徑修復.00B4BAFB
00B210AA . E8 58760000 call 路徑修復.00B28707
00B210AF . 68 83F9B300 push 路徑修復.00B3F983
00B210B4 . E8 B5890000 call 路徑修復.00B29A6E
00B210B9 . 59 pop ecx ; kernel32.777D0099
00B210BA . C3 retn
00B210BB . B9 B8BBB400 mov ecx,路徑修復.00B4BBB8
00B210C0 . E8 42760000 call 路徑修復.00B28707
00B210C5 . 68 8DF9B300 push 路徑修復.00B3F98D
00B210CA . E8 9F890000 call 路徑修復.00B29A6E
00B210CF . 59 pop ecx ; kernel32.777D0099
00B210D0 . C3 retn
00B210D1 . 68 97F9B300 push 路徑修復.00B3F997
00B210D6 . E8 93890000 call 路徑修復.00B29A6E
?在反匯編面板窗口的列(注意:不是列標題)中,默認情況下,雙擊可以完成如下操作。
- Address列:顯示被雙擊行地址的相對地址,再次雙擊返回標準地址模式。
- Hexdump列:設置或取消無條件斷點,對應的快捷鍵是“F2”鍵。
- Disassembly列:調用匯編器,可直接修改匯編代碼,對應的快捷鍵是空格鍵。
- Comment列:允許增加或編輯注釋,對應的快捷鍵是“”鍵。
從鍵盤上選擇多行,可按“Shit”鍵和上下光標鍵(或者“PgUp”/“PgDn”鍵)實現(xiàn)也可利用右鍵快捷菜單命令實現(xiàn)。按“Ctl”鍵并按上/下光標鍵,可逐行滾動匯編窗口(當數(shù)據(jù)與代碼混合時,此功能非常有用)。
2、信息面板窗口
在進行動態(tài)跟蹤時,信息面板窗口(Information window)將顯示與指令相關的各寄存器的值API函數(shù)調用提示和跳轉提示等信息。
3、數(shù)據(jù)面板窗口
數(shù)據(jù)面板窗口(Dumpwindow)以十六進制和字符方式顯示文件在內存中的數(shù)據(jù)。要顯示指定內存地址的數(shù)據(jù),可單擊右鍵快捷菜單中的“Cotoexpression”命令或按“Ctl+G”快捷鍵打開地址窗口,輸人地址。
00B40260 62 72 6F 6B 65 6E 20 70 69 70 65 00 63 6F 6E 6E broken pipe.conn
00B40270 65 63 74 69 6F 6E 20 61 62 6F 72 74 65 64 00 00 ection aborted..
00B40280 63 6F 6E 6E 65 63 74 69 6F 6E 20 61 6C 72 65 61 connection alrea
00B40290 64 79 20 69 6E 20 70 72 6F 67 72 65 73 73 00 00 dy in progress..
00B402A0 63 6F 6E 6E 65 63 74 69 6F 6E 20 72 65 66 75 73 connection refus
00B402B0 65 64 00 00 63 6F 6E 6E 65 63 74 69 6F 6E 20 72 ed..connection r
00B402C0 65 73 65 74 00 00 00 00 64 65 73 74 69 6E 61 74 eset....destinat
00B402D0 69 6F 6E 20 61 64 64 72 65 73 73 20 72 65 71 75 ion address requ
00B402E0 69 72 65 64 00 00 00 00 65 78 65 63 75 74 61 62 ired....executab
00B402F0 6C 65 20 66 6F 72 6D 61 74 20 65 72 72 6F 72 00 le format error.
00B40300 66 69 6C 65 20 74 6F 6F 20 6C 61 72 67 65 00 00 file too large..
00B40310 68 6F 73 74 20 75 6E 72 65 61 63 68 61 62 6C 65 host unreachable
00B40320 00 00 00 00 69 64 65 6E 74 69 66 69 65 72 20 72 ....identifier r
00B40330 65 6D 6F 76 65 64 00 00 69 6C 6C 65 67 61 6C 20 emoved..illegal
00B40340 62 79 74 65 20 73 65 71 75 65 6E 63 65 00 00 00 byte sequence...
00B40350 69 6E 61 70 70 72 6F 70 72 69 61 74 65 20 69 6F inappropriate io
00B40360 20 63 6F 6E 74 72 6F 6C 20 6F 70 65 72 61 74 69 control operati
00B40370 6F 6E 00 00 69 6E 76 61 6C 69 64 20 73 65 65 6B on..invalid seek
00B40380 00 00 00 00 69 73 20 61 20 64 69 72 65 63 74 6F ....is a directo
00B40390 72 79 00 00 6D 65 73 73 61 67 65 20 73 69 7A 65 ry..message size
00B403A0 00 00 00 00 6E 65 74 77 6F 72 6B 20 64 6F 77 6E ....network down
00B403B0 00 00 00 00 6E 65 74 77 6F 72 6B 20 72 65 73 65 ....network rese
00B403C0 74 00 00 00 6E 65 74 77 6F 72 6B 20 75 6E 72 65 t...network unre
00B403D0 61 63 68 61 62 6C 65 00 6E 6F 20 62 75 66 66 65 achable.no buffe
00B403E0 72 20 73 70 61 63 65 00 6E 6F 20 63 68 69 6C 64 r space.no child
00B403F0 20 70 72 6F 63 65 73 73 00 00 00 00 6E 6F 20 6C process....no l
00B40400 69 6E 6B 00 6E 6F 20 6D 65 73 73 61 67 65 20 61 ink.no message a
00B40410 76 61 69 6C 61 62 6C 65 00 00 00 00 6E 6F 20 6D vailable....no m
00B40420 65 73 73 61 67 65 00 00 6E 6F 20 70 72 6F 74 6F essage..no proto
4、寄存器面板窗口
?寄存器面板窗口(Registerswindow)顯示CPU各寄存器的值支持浮點MMX和3DNow!寄存器??梢詥螕粲益I或窗口標題切換顯示寄存器的方式。
5、棧面板窗口
?棧面板窗口(Stack window)顯示的內容即ESP指向地址的內容。將數(shù)據(jù)放入的操作稱為人棧(push)從棧中取出數(shù)據(jù)的操作稱為出棧(pop)。窗口非常重要各API函數(shù)和子程序都利用它傳遞參數(shù)和變量等。文章來源:http://www.zghlxwxcb.cn/news/detail-500667.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-500667.html
010FFC74 |00000000
010FFC78 |00000000
010FFC7C |00000000
010FFC80 |00000000
010FFC84 |00000000
010FFC88 |00000000
010FFC8C |00000000
010FFC90 |010FFC58
010FFC94 |00000000
010FFC98 |010FFCB0 Pointer to next SEH record
010FFC9C |77C7AE30 SE handler
010FFCA0 |875B3DC9
010FFCA4 |00000000
010FFCA8 \010FFCB8
010FFCAC 77C67B3E RETURN to ntdll.77C67B3E from ntdll.77C67B3F
010FFCB0 FFFFFFFF End of SEH chain
010FFCB4 77C88C8F SE handler
到了這里,關于網(wǎng)絡安全|滲透測試入門學習,從零基礎入門到精通—動態(tài)分析技術工具OllyDbg界面介紹的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!