好友
阅读权限40
听众
最后登录1970-1-1
|
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的地方设置断点 |
免费评分
-
查看全部评分
本帖被以下淘专辑推荐:
- · 学习及教程|主题: 1131, 订阅: 1124
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|