OD三種斷點原理

2021-06-21 05:59:36 字數 565 閱讀 9397

(1)int 3斷點,即cc斷點,這是一種基於軟中斷機制斷點,3為中斷號。od中,當你在**區某行按f2即可實現,其機理是把所在**的第乙個位元組儲存到一張表上,然後將其修改為cc,當程式執行到此**時,就會產生中斷,從而轉至中斷服務程式。當你去除斷點時,od會從表裡讀取出當前斷點原來的位元組內容。

(2)記憶體斷點,假如你用int 3斷點對資料區下斷,od會提示你斷點可能不會實現,其實也是必然,程式不可能執行資料區,然而我們卻可以當資料被讀取或寫入時進行下斷,這種原理主要基於記憶體屬性,當下讀寫斷點是,od會修改斷點處讀寫屬性,如果程式對此資料讀寫的話,會產生讀寫異常,od捕捉此異常並分析,其可以知道執行到何處,對**段也可以下此斷點,機理相似。

(3)硬體斷點,這是由硬體實現(這裡是cpu實現),其由cpu偵錯程式實現,斷點長度有限,其只用兩位記錄斷點長度,所以只支援4個硬體斷點,除錯暫存器中有3位表示斷點狀態及屬性,000 保留 001 執行斷點  010 訪問斷點 011 寫入斷點 100 保留 101 臨時斷點 110 保留 111 保留

這裡只是粗略描述3中斷點實現的基本機制,如果要深入理解的話,看《c++反彙編與逆向分析技術解密》,以及一些專業的除錯書籍

OD三種斷點原理

原出處 1 int 3斷點,即cc斷點,這是一種基於軟中斷機制斷點,3為中斷號。od中,當你在 區某行按f2即可實現,其機理是把所在 的第乙個位元組儲存到一張表上,然後將其修改為cc,當程式執行到此 時,就會產生中斷,從而轉至中斷服務程式。當你去除斷點時,od會從表裡讀取出當前斷點原來的位元組內容。...

Linux lvs三種模式工作原理

lvs linux virtual sevser,linux虛擬伺服器,由章文嵩先生成立的有關負載均衡的開源專案。基於linux核心。優化後併發量可以達到百萬級。nat模式 nat network address translation 網路位址轉換,內網主機可以通過路由nat實現訪問外網主機。1 ...

三種Cache寫入方式原理簡介

三種cache寫入方式原理簡介 在386以上檔次的微機中,為了提高系統效率,普遍採用cache 高速緩衝儲存器 現在的系統甚至可以擁有多級cache。cache實際上是位於cpu與dram主儲存器之間少量超高速的靜態儲存器 sram 通常的大小為8kb 512kb。對cache的工作原理可以進行如下...