2013年11月24日 星期日

硬件中斷點, 軟件中斷點, 內存中斷點的分別

硬件中斷點:
CPU 中會有一些特殊暫存器是用來做中斷用的, 通過設定這些硬體中斷佔存器的中斷
方式就是硬體中斷

軟件中斷點:
把記憶體中想要中斷的的指令的第一個 byte 改成 0xCC (int 3), 則 CPU 執行到這個指令時會產生中斷
debugger 此時再把原本的指令寫回記憶體, 這種方式叫軟件中斷點

內存中斷點:
把想要下斷點的記憶體頁面屬性改變
如果是內存寫斷點
改為 RE, 可讀, 可執行
如果是內存存取斷點
改為 NO ACCESS, 不可存取

沒有留言:

張貼留言