首页
社区
课程
招聘
几种典型程序Button处理代码的定位
发表于: 2006-1-4 15:33 76829

几种典型程序Button处理代码的定位

2006-1-4 15:33
76829
收藏
免费 9
支持
分享
最新回复 (70)
雪    币: 202
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wdx
26
好好学习一下,谢谢
2006-1-5 18:28
0
雪    币: 279
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
27
好东西得收藏
2006-1-5 18:49
0
雪    币: 221
活跃值: (137)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
28
自己试了一程序SnagIt32.exe,是Microsoft Visual C++ 7.0 Method2 [调试] ,按照此法不能断下来!WHY?
2006-1-5 19:40
0
雪    币: 266
活跃值: (269)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
29
最初由 xsy3660 发布
自己试了一程序SnagIt32.exe,是Microsoft Visual C++ 7.0 Method2 [调试] ,按照此法不能断下来!WHY?


试了两个Button,都断下了:
0012FE44   77D5F4BA  /CALL to IsDialogMessageW from USER32.77D5F4B5
0012FE48   0002059E  |hWnd = 0002059E (class='#32770',parent=000205A6)
0012FE4C   00154E58  \pMsg = WM_LBUTTONUP hw = 30578 ("&Add New Profile Wizard...") Keys = 0 X = 216. Y = 11.

0012F918   77D5F4BA  /CALL to IsDialogMessageW from USER32.77D5F4B5
0012F91C   001C06A8  |hWnd = 001C06A8 ('Enter Software Key',class='#32770',parent=000304E2)
0012F920   00154E58  \pMsg = WM_LBUTTONUP hw = E0792 ("OK") Keys = 0 X = 34. Y = 13.
2006-1-5 20:48
0
雪    币: 266
活跃值: (269)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
30
Ref.

2006-1-5 20:53
0
雪    币: 221
活跃值: (137)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
31
过程如下:




之后下断bp IsDialogMessageW [esp+8]==00106AE && [esp+0c]==202。F9后直接出现下列框

2006-1-5 22:15
0
雪    币: 266
活跃值: (269)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
32
你应该这样下断:bp IsDialogMessageW [[esp+8]]==00106AE && [[esp+8]+4]==202
2006-1-5 22:42
0
雪    币: 221
活跃值: (137)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
33
还有点问题:
1、下断,F9继续程序,点击目标按钮,程序中断后;Alt+F4无作用,为何?
2、对于MFC程序,我们不得不多次重复这样的操作:单步回到MFC领空,再第 5、6步。也就是说断下后按F8至到MFC领空是吧?
3、直到下列情况才算到处理Button点击事件的代码是吗?

0012FE44   77D5F4BA  /CALL to IsDialogMessageW from USER32.77D5F4B5
0012FE48   0002059E  |hWnd = 0002059E (class='#32770',parent=000205A6)
0012FE4C   00154E58  \pMsg = WM_LBUTTONUP hw = 30578 ("&Add New Profile Wizard...") Keys = 0 X = 216. Y = 11.

0012F918   77D5F4BA  /CALL to IsDialogMessageW from USER32.77D5F4B5
0012F91C   001C06A8  |hWnd = 001C06A8 ('Enter Software Key',class='#32770',parent=000304E2)
0012F920   00154E58  \pMsg = WM_LBUTTONUP hw = E0792 ("OK") Keys = 0 X = 34. Y = 13.
2006-1-5 23:52
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
34
经试用该方法,很管用,准万能button断点法哦
2006-1-6 00:04
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
35
佩服

一直没搞懂消息断点 长见识了 。
2006-1-6 13:32
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
36
bp IsDialogMessageW [[esp+8]]==00106AE && [[esp+8]+4]==202

====>

bp IsDialogMessageW [[esp+8]]==00106AE && MSG==202

:)
2006-1-6 21:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
好东东,应该收到精华七里面去,
这样东东,就应该有人来做下,
尊敬楼主一下
2006-1-7 00:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
写的不错
再结合例子就是非常不错的教材了,呵呵,努力努力
2006-1-10 00:18
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
39
一直苦于不知如何在button下断,这次受益霏浅,多谢高人指点迷津!!!
2006-1-11 22:04
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
40
认真学习
2006-1-11 23:00
0
雪    币: 220
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
5 Alt+F4,在代码段(.text)上下访问断点;
Alt+F4查了一下OD的帮助手册,没发现这个命令啊
能解释一下吗?
2006-1-12 00:13
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
42
Alt+M 察看内存窗口
然后选择代码段点右键设置内存访问断点
2006-1-12 00:20
0
雪    币: 266
活跃值: (269)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
43
谢 fly。
2006-1-12 15:24
0
雪    币: 217
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
44
还是fly老师好啊,为什么我按alt+f4没有任何反映啊,我用的是fly的修改版OD,谢谢
2006-1-18 00:02
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
有些DELPHI定不到关键地方,没有万能断点好用。
2006-2-16 11:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
同问

最初由 hahar 发布
5 Alt+F4,在代码段(.text)上下访问断点;
Alt+F4查了一下OD的帮助手册,没发现这个命令啊
能解释一下吗?
2006-2-20 23:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
在哪个内存地址设置断点呢?我是新手,刚接触这些东西,一头雾水呀:(

最初由 fly 发布
Alt+M 察看内存窗口
然后选择代码段点右键设置内存访问断点
2006-2-20 23:23
0
雪    币: 251
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
最初由 elpelado 发布
在哪个内存地址设置断点呢?我是新手,刚接触这些东西,一头雾水呀:(
上传的附件:
  • 1.jpg (94.99kb,437次下载)
2006-2-20 23:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
thank you
2006-2-21 20:19
0
雪    币: 191
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
这里有个VB程序,可是我多次试验,无法定位
详细说明:
[软件]百度搜索――宇通霓虹CAD 2004 (试用版)
打开该软件,可以运行,不需要注册
打开文件――选择打开工程――任意选择一个――另存为
这时弹出一个窗口:试用版无此功能
必须选择[确定]
我加载以后,能够找到这个确定按钮的handle,可是无法准确拦截
请大家试验试验
2006-2-22 19:24
0
游客
登录 | 注册 方可回帖
返回
//