OD教程(基础--断点)
生活随笔
收集整理的這篇文章主要介紹了
OD教程(基础--断点)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、斷點
認識OD的兩種斷點:
OllyDBG從原理上來區分,有兩種不同的斷點:軟件斷點和硬件斷點。
也許會有朋友說那不是還有內存斷點嗎?
內存斷點嚴格來說是屬于一種特殊的軟件斷點。
內存斷點:
內存斷點每次只能設置一個,假如你設置了另一個內存斷點,則上一個會被自動刪除。
設置一個內存斷點,會改變整塊(4KB)內存的屬性,哪怕你只設置一個字節的內存斷點。
另外還需要提一下的是,內存斷點會明顯降低OD的性能,因為OD經常會校對內存。
軟件斷點:
當我們按下F2設置的斷點就是軟件斷點。
設置該斷點的原理是在斷點處重寫代碼,插入一個int3中斷指令,當CPU執行到int3指令的時候,OD就可以獲得控制權。
硬件斷點:
這個原理跟軟件斷點不同,硬件斷點的可行性依賴于CPU的物理支持。
傳說中,有這么一些寄存器,它們只用于調試,我們稱為調試寄存器:Dr0~Dr7
其中Dr0~Dr3四個寄存器用來存放中斷地址,Dr4、Dr5保留不使用,Dr6、Dr7用來記錄Dr0~Dr3的屬性(如讀,寫還是執行,單位是字節,字還是雙字)。
因此,這就解釋了為啥硬件斷點只有四個,天生不足哈。
總結
以上是生活随笔為你收集整理的OD教程(基础--断点)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos中安装svnserver
- 下一篇: VCPKG 常用命令