首页
社区
课程
招聘
[求助]windbg 条件断点
发表于: 2013-5-15 21:09 6221

[求助]windbg 条件断点

2013-5-15 21:09
6221
我想断下消息是:WM_LBUTTONUP

设置断点:
bp user32!translatemessage ".if((@(ebp+8)+4)=0x0202){} .else {gc}"

运行提示:
Bad register error at '@(ebp+8))+4)=0x0202){} .else {gc}'

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 97
活跃值: (141)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
bu USER32!InternalCallWinProc ".if(poi(ebp+0ch)=202) {.echo;  .printf\"InternalCallWinProc\"; .echo; ?@esp;d @esp  } .else {.echo;  .printf\"InternalCallWinProc\";  .echo; ?@esp;d @esp; gc; } "
2013-5-15 21:38
0
雪    币: 97
活跃值: (141)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
bu USER32!TranslateMessageEx+0x5h "r $t1=poi(ebp); r $t2=poi(ebp+04h); r $t3=poi(ebp+08h); .block {.if(poi(ebp+04h)=202) {.echo;  .printf\"TranslateMessageEx--handle::%08x\r\n\",$t1; .echo;  .printf\"TranslateMessageEx--Msg::%08x\r\n\",$t2; .echo;  .printf\"TranslateMessageEx--wParam:%08x\r\n\",$t3;  } .else {.echo;  .printf\"TranslateMessageEx--handle::%08x\r\n\",$t1; .echo;  .printf\"TranslateMessageEx--Msg::%08x\r\n\",$t2; .echo;  .printf\"TranslateMessageEx--wParam:%08x\r\n\",$t3;  gc; } }"
2013-5-15 21:39
0
雪    币: 96
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
@(ebp+8) 是什么意思?
2013-5-15 21:44
0
雪    币: 60
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
记得@是表明后面的符号是个寄存器,不会再去搜索符号表,而ebp+8明显是个表达式,最终是个数值,不知道说的对不对,菜鸟路过。。。
2013-5-15 22:51
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
bp user32!translatemessage ".if (poi(poi(ebp+8)+4)=0x202){} .else {gc;}"

这样就可以,验证过!OK!
2013-5-16 00:06
0
雪    币: 215
活跃值: (90)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
寄存器名称前都加@比较好,这样不会解析成符号
2013-5-16 09:45
0
雪    币: 97
活跃值: (141)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
poi()这个方法很好,在windbg的帮助中有介绍。有兴趣的朋友可以看一看。
2013-5-17 06:16
0
游客
登录 | 注册 方可回帖
返回
//