OD硬體斷點,OD記憶體斷點,API斷點

2021-05-23 17:48:49 字數 3017 閱讀 7611

一.【設定硬體寫入斷點】

9 i0 b( m; a8 ) /8 w8 u

--------------------------------------

! /: f; q) q" r

- w0 s, k9 h! ' s. ~2 |, l

, w1 d8 r8 j+ a& }0 v4 o% r* q at

, r! p& a" l/ y% h 在指定位址進行反

彙編& g" m: d# q( e; d: b, ~. a! l# x) x

7 l! h. r* d) t8 [- k1 ]4 ` follow

0 j- [   l( q, `$ r/ q1 i5 t 跟隨命令

4 f% w   q+ s+ x/ x) ~

7 u2 w5 [3 r; i$ z

orig

8 /8 ]! k   ^8 x5 w 反彙編於 eip

! f" u, a$ s0 k/ r! o8 k4 l6 g

0 ]! y% b4 v4 w

dump) x( s8 b3 v/ c

在指定位址進行轉存0 a% ^- `& r' m

; g9 f0 m8 e4 f' o/ x* y! l) c

da% n* n* f; |! ]9 p

轉存為反彙編**

6 c:

, v( w6 n1 `; i

db1 z9 @$ a) /5 a% k: /- a

使用十六進製制位元組格式轉存

. m: v$ r' ?; s; z# z) s

, f$ s) }   p6 f4 ?. m

dc4 p0 f1 _5 q2 }3 b/ k

使用 ascii 格式轉存% t6 u) /   o6 h+ h" w( ?

' h) h   |1 d   e% k9 r

dd- m, w$ d9 o/ s3 ]! 5 |; s$ k& x% s4 i

+ k7 c/ b' p1 h& l3 q

du: v; f* ~   |9 t* x, @

轉存在 unico de 格式

7 i' /% q   d0 c

* /   j3 o' ^5 o# e$ @8 /

dw& |2 g% |/ f" n' g8 f

使用十六進製制字詞格式轉存

1 r" ~7 }* q3 q2 @" o

! ) t8 v5 l4 s) ) e% m

(as + 位址 + 字串)

3 x5 f' ]: p8 _$ m# m- h2 g 在指定位址進行彙編

4 d0 u   l8 w% z5 t, d

* i% m: [$ u! l

bp% a6 o* n: f7 g9 [7 d3 f- ]

進行條件中斷(有條件的斷點 )

# ^7 v9 g, l/ p6 a1 q+ z" t# j

+ t- t' g) u# }8 ^0 b

bpx3 t3 `   c( k5 p

中斷在全部呼叫 (call)" u   b4 a: r6 k

; g$ s# z# f) s/ t bpd

6 w6 _( t% ( i1 ^$ ?8 q   s5 o

mri6 |7 s! i* ]

記憶體斷點於訪問時' _8 h* ~2 |8 m$ s* k. h+ o+ w

/ y* ^1 g8 q* |" % e" ^

md8 l9 |) h2 l% q* x% t6 ]! o. @

清除記憶體斷點

: a/ e& v   k8 h' l

& @0 ^/ j; g( f- f, o/ h# y

hr7 t# t0 d. f, q3 b" h* b

訪問時進行硬體中斷

* m7 w/ ( d- b   b) l( a9 |7 /# o4 f

! `. k) s* z! z& }# s8 f' m6 ege

/ m! p( j' a8 ?2 w, n' p6 b' j 執行和通過例外

, ~" n4 f9 q* u

5 @4 b: ~. j9 w, f   x! s

si / o   f/ k6 g) s$ q5 k- |

單步進入 call 中

, e0 g9 e5 p0 _2 e, p8 q

1 u0 i% g1 u1 y2 a8 o; ^3 d so

3 l' ]$ s6 4 i9 z* s% h7 % c

4 c5 o5 j" i1 ?* ~" c- ]

opt ! y" ?4 l2 |3 u8 q

開啟選項設定視窗

0 j1 ^8 v3 v( s4 k! v

7 q, h0 x5 ?2 w6 c. n' m" v

exit

5 a! s: q. m/ _3 m! j: ^

退出 ollydbg

; h# f# s6 }" w8 @+ l3 n

- `; s, q( h& v, n) l$ t0 g" q8 v

quit

0 o; y3 e7 h8 d. o: r: z& p" j# k

退出 ollydbg

" e' l: s9 ?( i& h6 l

$ a. a; f$ q   k: z# m& g open

, z# _9 a0 a& z' `; e

開啟乙個可執行

檔案4 /& z' z$ l) w; s

f( g( n7 b: q; y+ ]' l* u

close

7 [3 n: s; b( s" r

關閉可執行檔案

( w6 l. v3 p3 @0 ^! j" g

! k4 q! j! n# m% _& f

rst " m1 ?" `9 h8 t0 b

重新執行當前程式

' i$ d$ e! help

% x* b6 k, f- x! b/ a8 f) v 檢視

api函式 的幫助

$ /: e1 j" ?* k" f- r: d3 k

OD記憶體斷點

來自 記憶體斷點原理 od會對所設定位址設定為不可訪問或者不可寫屬性,這樣擋程式試圖訪問或者寫入時就會產生異常,od在截獲這種異常後比較位址是否是設定的斷點位址,這種 方式會對程式的執行速度有很大的影響,所以只允許設定乙個記憶體斷點,但是在找到記憶體斷點後可以使用一般的斷點 這個是可以設定無數個的 ...

OD筆記2 記憶體斷點與硬體斷點

精闢解釋 來自看雪論壇 記憶體訪問斷點是利用 virtualprotect 來把該記憶體位址所在的記憶體頁 大小為4096位元組 設定為不可讀 不可寫 不可執行 所以當訪問該記憶體的時候會產生乙個訪問異常 從而在異常處理函式中實現記憶體訪問斷點的操作 硬體斷點是利用 cpu自帶的除錯暫存器 dr 產...

OD的 CC斷點,記憶體訪問斷點,硬體斷點 解析

1.f2斷點,api斷點 1 本質cc斷點 2 以api斷點為例 x getprocaddress 獲得函式首 位址 vitualprotectex 修改函式首位址許可權為 可寫 x 0xcc 修改了記憶體資料為0xc 2.分頁保護斷電 1 記憶體訪問點 or 記憶體寫入斷點 其實是設定記憶體禁止訪...