OllyDbg设置条件断点问题
我想监视的是一窗口过程,想让它在被调用并且是接收WM_NOTIFY消息的时候中断.因此我设置的条件中断表达式是:
[ESP+4]==窗口句柄值 && [ESP+8]==WM_NOTIFY
这样是可以的.可是WM_NOTIFY消息的内容是在lParam所指向的结构体变量中的,这结构体定义如下:
- C/C++ code
typedef struct tagNMHDR { HWND hwndFrom; UINT idFrom; UINT code;} NMHDR;我想当code为某一值时中断,所以在原来的表达式上又加了一句,拼起来为:
[ESP+4]==窗口句柄值 && [ESP+8]==WM_NOTIFY &&[[ESP+10]+8]==事件值
可是加了后,貌似OllyDbg不识别这个表达式,所以就变成无条件中断了.
可是[[123456]] - 在地址123456处存储的双字所指向的地址内的双字内容,不是有这种用法的吗
[解决办法]
单独[[esp+10]+8]==xxx是可以的,放在条件最后貌似不行,你可以试一下这样:
[[ESP+10]+8]==事件值 && [ESP+4]==窗口句柄值 && [ESP+8]==WM_NOTIFY
[解决办法]
[ESP+10]==事件值-8
[解决办法]
求问一下各位大神一个小小的问题:
为什么我测试一下时。。。。int 21H 就会报访问违规,是不是WINDOWS的保护模式不能使用INT中断。。
那怎么样才可以在WINDWS下使用INT中断呢?
[解决办法]
我的可以,你用ollydbg 2.0