od结构体大小_od内存断点的探析和检测方法
作為一款流行的動態,OD 的成功離不開斷點。可以說,斷點成就了 OD,不難想象,如
果在調試過程中,下的斷點全部失效了,那么 OD 就武功全廢了。在前面的文章里,我曾介
紹 OD有三大斷點:int3斷點、硬件斷點和內存斷點。關于前面兩種斷點,我已經寫過檢測
方法,今天就來分析一下,內存斷點的檢測方法。
要檢測,首先,我們要了解內存斷點的原理。知己知彼才能百戰百勝,所以,我們還是
從逆向 OD著手。OD通過調用 Setmembreakpoint函數來下內存斷點,反匯編代碼如下:
004192D8 >/$? 55??????????? push??? ebp
004192D9? |.? 8BEC????????? mov???? ebp, esp
004192DB? |.? 53??????????? push??? ebx
004192DC? |.? 56??????????? push??? esi
004192DD? |.? 57??????????? push??? edi
004192DE? |.? 833D 38814D00>cmp???? dword ptr [4D8138], 0
004192E5? |.? 8B7D 10?????? mov???? edi, dword ptr [ebp+1>
004192E8? |.? 8B75 0C?????? mov???? esi, dword ptr [ebp+C>
004192EB? |.? 8B5D 08?????? mov???? ebx, dword ptr [ebp+8>
004192EE? |.? 0F85 99000000 jnz???? 0041938D????????????? ;? 0041938D
004192F4? |.? 833D D8364D00>cmp???? dword ptr [4D36D8], 2
004192FB? |.? 0F84 8C000000 je????? 0041938D????????????? ;? 0041938D
00419301? |.? 56??????????? push??? esi
00419302?? |.? E8 41870400?? call??? 00461A48????????????? ;
_Findmemory
00419307? |.? 59??????????? pop???? ecx
00419308? |.? 81FE 00000080 cmp???? esi, 80000000
0041930E? |.? 72 24???????? jb????? short 00419334??????? ;? 00419334
00419310? |.? 6A 14???????? push??? 14??????????????????? ; /Style =
MB_YESNO|MB_ICONHAND|MB_APPLMODAL
00419312? |.? 68 CA224B00?? push??? 4B22CA??????????????? ; |Title =
"Memory breakpoint in system area"
00419317? |.? 68 2E224B00?? push??? 4B222E??????????????? ; |Text = "You
are going to set memory breakpoint in system area. This breakpoint may freeze
Windows or cause system crash. Do you really want to set this breakpoint?"
...
函數比較長,只截取一部分,可以看出,函數首先是判斷內存斷點的位置,如果是系統
空間、資源段以及棧空間,則會彈出錯誤提示框。接著還做了些工作,例如填寫了一個內存
斷點的結構體,限于篇幅,就不一一展開分析了,下面我們直接來看設置內存斷點最關鍵的
操作:
0041940E? |> \833D 5C5A4D00>cmp???? dword ptr [4D5A5C], 3
00419415? |.? 75 05???????? jnz???? short
0041941C??????????????????????????? ;? 0041941C
00419417? |.? E8 18FCFFFF?? call
00419034????????????????????????????????? ;? 00419034
0041940E? |> \833D 5C5A4D00>cmp???? dword ptr [4D5A5C], 3
總結
以上是生活随笔為你收集整理的od结构体大小_od内存断点的探析和检测方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “蠢蠢微尘里”下一句是什么
- 下一篇: 电影(《痞子英雄》、《寒战》)的内容是?