一.【設定硬體寫入斷點】
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 記憶體寫入斷點 其實是設定記憶體禁止訪...