9.OD-断点、命令
生活随笔
收集整理的這篇文章主要介紹了
9.OD-断点、命令
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
BP
表達(dá)式
?[,
條件
]
在指定地址設(shè)置
?INT3
斷點(diǎn)
?BP EAX+10BP 410010, EAX==WM_CLOSEBP Kernel32.GetProcAddress
BPX? 標(biāo)簽 在當(dāng)前模塊每一個(gè)對(duì)外部標(biāo)簽的調(diào)用設(shè)置斷點(diǎn) ?BPX CreateFileA
BC? 表達(dá)式 刪除指定地址的斷點(diǎn) ?BC 410010
MR? 表達(dá)式 1 [, 表達(dá)式 2] 設(shè)置指定范圍的內(nèi)存訪問斷點(diǎn) ?
MW? 表達(dá)式 1 [, 表達(dá)式 2] 設(shè)置指定范圍的內(nèi)存寫斷點(diǎn) Set?
MD? 移除內(nèi)存斷點(diǎn) ?
HR? 表達(dá)式 設(shè)置 1 字節(jié)的硬斷點(diǎn),當(dāng)訪問該地址時(shí)中斷 ?
HW? 表達(dá)式 設(shè)置 1 字節(jié)的硬斷點(diǎn),當(dāng)寫該地址時(shí)中斷 ?
HE? 表達(dá)式 設(shè)置硬斷點(diǎn),當(dāng)執(zhí)行該地址時(shí)中斷 ?
HD [ 表達(dá)式 ] 移除指定地址處的硬斷點(diǎn)
附內(nèi)存中斷小結(jié):
OD中內(nèi)存斷點(diǎn)小結(jié)
內(nèi)存,小結(jié),斷點(diǎn)
[cpp]?view plaincopy 0040EE67??????90?????????????????nop??????????????????????????????//假設(shè)此處為EIP??? 0040EE68??????90?????????????????nop?? 0040EE69??????90?????????????????nop?? 0040EE6A??????A0?C4FF1200????????mov?????al,?byte?ptr?[12FFC4]?? 0040EE6F??????90?????????????????nop?? 0040EE70?>????90?????????????????nop?? 0040EE71??????90?????????????????nop?? 0040EE72??????90?????????????????nop?? 0040EE73??????90?????????????????nop?? 0040EE74??????90?????????????????nop?? 0040EE75??????C605?C5FF1200?11???mov?????byte?ptr?[12FFC5],?11?? 0040EE7C??????90?????????????????nop?? 0040EE7D??????90?????????????????nop?? 0040EE7E??????90????
12FFC4 11 11
1. 內(nèi)存訪問斷點(diǎn) 設(shè)置 12FFC4 一個(gè)字節(jié)為內(nèi)存訪問斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE6A
原理: OD 會(huì)設(shè)置 12FFC4 地址訪問權(quán)限為不可讀 大小為一字節(jié) ? ? 任何試圖讀取該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 現(xiàn)象就是 運(yùn)行到 ?mov? ???al, byte ptr [12FFC4] 當(dāng)指令試圖讀取該地址內(nèi)容 并給 AL 賦值的時(shí)候 ?OD 斷了下來 ?
2. 硬件訪問斷點(diǎn) 設(shè)置 12FFC4 一個(gè)字節(jié)為硬件訪問斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE6F
原理: OD 會(huì)設(shè)置調(diào)試寄存器 ?DR0-DR3? 其中一個(gè)為 12FFC4 并設(shè)置 DR7 相關(guān)標(biāo)記 這個(gè)實(shí)現(xiàn)依靠 CPU 特性 當(dāng)設(shè)置了改地址為硬件訪問斷點(diǎn)后 任何試圖訪問該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 現(xiàn)象就是 運(yùn)行到 ?mov? ???al, byte ptr [12FFC4] 當(dāng)指令試圖讀取該地址內(nèi)容 并給 AL 賦值的時(shí)候 ?OD 斷了下來 ?
3. 內(nèi)存寫入斷點(diǎn) 設(shè)置 12FFC5 一個(gè)字節(jié)為內(nèi)存寫入斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE75
原理: OD 會(huì)設(shè)置 12FFC5 地址訪問權(quán)限為不可寫 大小為一字節(jié) ? ? 任何試圖寫入該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 ?? 現(xiàn)象就是 運(yùn)行到 ?mov? ???byte ptr [12FFC5], 11 當(dāng)指令試圖寫入該地址內(nèi)容 ??OD 斷了下來
4. 硬件寫入斷點(diǎn) 設(shè)置 12FFC5 一個(gè)字節(jié)為硬件寫入斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE7C
原理: OD 會(huì)設(shè)置調(diào)試寄存器 ?DR0-DR3? 其中一個(gè)為 12FFC5 并設(shè)置 DR7 相關(guān)標(biāo)記 這個(gè)實(shí)現(xiàn)依靠 CPU 特性 當(dāng)設(shè)置了改地址為硬件訪問寫入后 任何試圖寫入該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 現(xiàn)象就是 運(yùn)行到 ?mov? ???byte ptr [12FFC5], 11 當(dāng)指令試圖寫入該地址的時(shí)候 ?OD 斷了下來 ?
至于內(nèi)存斷點(diǎn)斷在當(dāng)前指令 硬件斷點(diǎn)斷在當(dāng)前指令的下一條 取決于 OD 的實(shí)現(xiàn)
BPX? 標(biāo)簽 在當(dāng)前模塊每一個(gè)對(duì)外部標(biāo)簽的調(diào)用設(shè)置斷點(diǎn) ?BPX CreateFileA
BC? 表達(dá)式 刪除指定地址的斷點(diǎn) ?BC 410010
MR? 表達(dá)式 1 [, 表達(dá)式 2] 設(shè)置指定范圍的內(nèi)存訪問斷點(diǎn) ?
MW? 表達(dá)式 1 [, 表達(dá)式 2] 設(shè)置指定范圍的內(nèi)存寫斷點(diǎn) Set?
MD? 移除內(nèi)存斷點(diǎn) ?
HR? 表達(dá)式 設(shè)置 1 字節(jié)的硬斷點(diǎn),當(dāng)訪問該地址時(shí)中斷 ?
HW? 表達(dá)式 設(shè)置 1 字節(jié)的硬斷點(diǎn),當(dāng)寫該地址時(shí)中斷 ?
HE? 表達(dá)式 設(shè)置硬斷點(diǎn),當(dāng)執(zhí)行該地址時(shí)中斷 ?
HD [ 表達(dá)式 ] 移除指定地址處的硬斷點(diǎn)
附內(nèi)存中斷小結(jié):
OD中內(nèi)存斷點(diǎn)小結(jié)
內(nèi)存,小結(jié),斷點(diǎn)
[cpp]?view plaincopy
12FFC4 11 11
1. 內(nèi)存訪問斷點(diǎn) 設(shè)置 12FFC4 一個(gè)字節(jié)為內(nèi)存訪問斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE6A
原理: OD 會(huì)設(shè)置 12FFC4 地址訪問權(quán)限為不可讀 大小為一字節(jié) ? ? 任何試圖讀取該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 現(xiàn)象就是 運(yùn)行到 ?mov? ???al, byte ptr [12FFC4] 當(dāng)指令試圖讀取該地址內(nèi)容 并給 AL 賦值的時(shí)候 ?OD 斷了下來 ?
2. 硬件訪問斷點(diǎn) 設(shè)置 12FFC4 一個(gè)字節(jié)為硬件訪問斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE6F
原理: OD 會(huì)設(shè)置調(diào)試寄存器 ?DR0-DR3? 其中一個(gè)為 12FFC4 并設(shè)置 DR7 相關(guān)標(biāo)記 這個(gè)實(shí)現(xiàn)依靠 CPU 特性 當(dāng)設(shè)置了改地址為硬件訪問斷點(diǎn)后 任何試圖訪問該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 現(xiàn)象就是 運(yùn)行到 ?mov? ???al, byte ptr [12FFC4] 當(dāng)指令試圖讀取該地址內(nèi)容 并給 AL 賦值的時(shí)候 ?OD 斷了下來 ?
3. 內(nèi)存寫入斷點(diǎn) 設(shè)置 12FFC5 一個(gè)字節(jié)為內(nèi)存寫入斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE75
原理: OD 會(huì)設(shè)置 12FFC5 地址訪問權(quán)限為不可寫 大小為一字節(jié) ? ? 任何試圖寫入該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 ?? 現(xiàn)象就是 運(yùn)行到 ?mov? ???byte ptr [12FFC5], 11 當(dāng)指令試圖寫入該地址內(nèi)容 ??OD 斷了下來
4. 硬件寫入斷點(diǎn) 設(shè)置 12FFC5 一個(gè)字節(jié)為硬件寫入斷點(diǎn) ?F9 運(yùn)行程序 ?OD 會(huì)停在 0040EE7C
原理: OD 會(huì)設(shè)置調(diào)試寄存器 ?DR0-DR3? 其中一個(gè)為 12FFC5 并設(shè)置 DR7 相關(guān)標(biāo)記 這個(gè)實(shí)現(xiàn)依靠 CPU 特性 當(dāng)設(shè)置了改地址為硬件訪問寫入后 任何試圖寫入該地址的操作 都會(huì)引發(fā)異常 ?OD 會(huì)捕獲這個(gè)異常 并等待用戶處理 現(xiàn)象就是 運(yùn)行到 ?mov? ???byte ptr [12FFC5], 11 當(dāng)指令試圖寫入該地址的時(shí)候 ?OD 斷了下來 ?
至于內(nèi)存斷點(diǎn)斷在當(dāng)前指令 硬件斷點(diǎn)斷在當(dāng)前指令的下一條 取決于 OD 的實(shí)現(xiàn)
總結(jié)
以上是生活随笔為你收集整理的9.OD-断点、命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8.OD--函数参考
- 下一篇: 10.OD-强制在OEP前加载dll