Cmdbar ---- [bp与bpx的区别]

bp与bpx的区别
bp address,string -- Break with condition   [对address或string下断点]
bpx string -- Break on all calls            [对call string下断点]
下面以记事本为例进行说明,在此分别利用bp与bpx对函数CreateFileW下断.
bp CreateFileW
--------------------------------------------------------------------------------------------------
7C810800 >  8BFF            mov     edi, edi                         ; bp CreateFileW ----断点位置[系统领空]
7C810802    55              push    ebp
7C810803    8BEC            mov     ebp, esp
7C810805    83EC 58         sub     esp, 58
7C810808    8B45 18         mov     eax, dword ptr [ebp+18]
0x7c810800就是函数CreateFileW的地址,大家可以利用工具dllexp.exe查看,显示的信息如下:
函数名称          : CreateFileW
偏移地址          : 0x7c810800
相对偏移地址      : 0x00010800
顺序数            : 83 (0x53)
文件名            : kernel32.dll
完整路径          : C:\WINDOWS\system32\kernel32.dll
类型              : 导出函数
bpx CreateFileW
--------------------------------------------------------------------------------------------------
Breakpoints
Address    Module                     Active                     Disassembly                                         Comment
01002653   Gall_NOT                   Always                     call    dword ptr [<&KERNEL32.CreateFileW>]
01002DAA   Gall_NOT                   Always                     call    dword ptr [<&KERNEL32.CreateFileW>]
010033AA   Gall_NOT                   Always                     call    dword ptr [<&KERNEL32.CreateFileW>]
0100423E   Gall_NOT                   Always                     call    edi
010043D0   Gall_NOT                   Always                     call    dword ptr [<&KERNEL32.CreateFileW>]
01004A07   Gall_NOT                   Always                     call    dword ptr [<&KERNEL32.CreateFileW>]
01004A5B   Gall_NOT                   Always                     call    dword ptr [<&KERNEL32.CreateFileW>]
01004ED8   Gall_NOT                   Always                     call    dword ptr [<&KERNEL32.CreateFileW>]
相信不用多说,大家已经知道bp与bpx的区别了吧

在OD里
bp 断是直接把入口改成CC
bpx 是哪里调用的函数 就哪里CC
两种区别在于
bp是 在 MOV EDI,EDI 类似的代码里下的断
bpx 是在  CALL XXXX.XXXX 类似的代码的下的断  XXX 表示某个已知dll的函数   
下BPX断时 能找到 多个CALL函数代码

多谢指点,把bp和bpx的区别讲的很清楚。
bp CreateFileW   -- 在函数CreateFileW的入口设置断点
bpx CreateFileW -- 在所有调用CreateFileW的地方设置断点

THE END
喜欢就支持以下吧
点赞1
分享
评论 抢沙发
管埋员的头像-小北的自留地

昵称

取消
昵称