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

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

2006-1-4 15:33
75260
首先
1 od 下运行程序,F12 暂停;
2 View菜单中选击Windows项,在打开的窗口中可以从Title栏看到目标按钮,从而找到它的Handle(xxxxxxxx) ;

对不同平台生成的程序,分别处理:

一、VB, Delphi, CBuilder 程序:
3 在CallWindowProcA入口下条件断点: [esp+8]==xxxxxxxx && [esp+0c]==202;
4 F9继续程序,点击目标按钮,程序中断;
5 Alt+F4,在代码段(.text)上下访问断点;
6 F9执行程序,程序中断,
   1). VB程序中断在下面代码
     PUSH DWORD PTR DS:[EAX+EBX]              ; yyyyyyy
     上面[EAX+EBX]的值(yyyyyy)就是我们要找的位置。

   2). Delphi, CBuilder 的程序
     程序直接断在我们要找的位置。

借moon一句,这姑妄称作CallWindowProcA条件断点加上code段内存断点法吧。

二、VC程序
又分MFC和Win32两种情况,二者相同之处:
3 在IsDialogMessageW入口下条件断点: [[esp+8]]==xxxxxxxx && [[esp+8]+4]==202
4 F9继续程序,点击目标按钮,程序中断;
5 Alt+F4,在代码段上下访问断点;
6 F9执行程序,程序中断, 注意这里虽然中断在code段,但却不是处理Button点击事件的代码处
  这时:
  对Win32程序,只需要按几下F7,当回到User32.dll领空后再重复一次第 5、6步就可以了;
  而对于MFC程序,我们不得不多次重复这样的操作:单步回到MFC领空,再第 5、6步。好在已经看到大陆啦!

类比,这就叫IsDialogMessageW条件断点加上code段内存断点法了。

敬请各位指正。

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞9
打赏
分享
最新回复 (70)
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 16 2006-1-4 15:42
2
0
抢winndy的沙发
雪    币: 450
活跃值: (552)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
winndy 17 2006-1-4 15:42
3
0
沙发~~~
被shoooo抢了
555
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
wenglingok 26 2006-1-4 15:49
4
0
干吗要抢

两个人在沙发上一起做不就行了。

我做板凳上看。
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhizhengfu 2006-1-4 15:59
5
0
很实用的东西,收下学习。
雪    币: 2506
活跃值: (995)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
CCDebuger 24 2006-1-4 16:02
6
0
沙发的由来是:
有人发了美女图,回帖的人说好正点,要坐沙发打××。
然后,凡是发了好图得到支持的都说坐沙发。
后来,许多火星人不理解沙发这个词,然后就认为沙发指的是第一个回帖的人。
......

原文在此:
http://www.sky2sea.net/Dispbbs.asp?BoardID=12&replyID=9390&id=1340&skin=0

另一个用google搜到的解释:
经常看见某些网站的某主题贴内第一个跟贴的回复就说:“沙发”。。。第二个就说“板凳”。。。还以为抢到第一的就坐“沙发”。。。第二的就只能坐“板凳”。。。其实“沙发”这个词最初是出现在黄色网站。。。某人发表了成人贴子。。。别人看见了说“沙发”。。。意思为:楼主的贴子MM好正点,我受不了要坐在沙发上ZW。。。而第二的只能坐在板凳上ZW了。。。而如今上哪都看见“沙发”“板凳”,真叫那个寒。。。

原文在此:
http://www.hnlm.net/nomusic/dispbbs.asp?boardID=32&ID=23119
雪    币: 450
活跃值: (552)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
winndy 17 2006-1-4 16:43
7
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
lnn1123 13 2006-1-4 17:11
8
0
雪    币: 214
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ljy3282393 1 2006-1-4 17:15
9
0
楼主如果能给合具体例子讲解一下就最好不过了
雪    币: 212
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
starluck 1 2006-1-4 18:12
10
0
看懂了,也试了一下,真爽,谢谢
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
chinadev 2006-1-4 18:56
11
0
3 在CallWindowProcA入口下条件断点: [esp+8]==xxxxxxxx && [esp+0c]==202;

请问怎么到 CallWindowProcA入口下条件断点?谢谢
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
thinkSJ 4 2006-1-4 20:17
12
0

看完了楼主的过程,也试了一下,果然被断下,在OD的命令行输入:
bp CallWindowProcA  [esp+8]==00090310&& [esp+0c]==202
就可以了,
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
thinkSJ 4 2006-1-4 20:18
13
0

看完了楼主的过程,也试了一下,果然被断下,在OD的命令行输入:
bp CallWindowProcA  [esp+8]==00090310&& [esp+0c]==202
00090310是句柄值,就可以了。多谢楼主了!!
对不起,网速太慢!多按了一次
雪    币: 255
活跃值: (207)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
peaceclub 6 2006-1-4 20:53
14
0
呵呵.Good
我一直用SendMessage,Condition在用.
你这个条件设置得很好.
雪    币: 300
活跃值: (387)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
killl 10 2006-1-4 21:29
15
0
学习了
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
萝卜 1 2006-1-4 22:04
16
0
study!
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
kyc 19 2006-1-4 22:12
17
0
老大出手了.
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
pendan2001 4 2006-1-5 04:05
18
0
学习
雪    币: 217
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
sfind 1 2006-1-5 04:39
19
0
5 Alt+F4,在代码段(.text)上下访问断点;

我每次都断在user32里面了,按alt+f4什么反映都没有,顺便问下怎么在.text上下断点,我怎么找不到,谢谢!
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
cyto 31 2006-1-5 08:04
20
0
谢谢楼主。
太棒了。
顺便回一下楼上的,你用的调试器可能跟楼主不一样。
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiong779 2006-1-5 12:38
21
0
??中,,?可以直接段在Function 下的哪各位置
雪    币: 201
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 2006-1-5 16:32
22
0
试了一下MFC程序,重复十五次以上的Alt+M,F2,F9,F8

汉....
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dyk158 2006-1-5 16:59
23
0
很实用的教程,谢谢!
雪    币: 369
活跃值: (790)
能力值: ( LV12,RANK:570 )
在线值:
发帖
回帖
粉丝
kongfoo 14 2006-1-5 17:27
24
0
不同凡响~~
雪    币: 221
活跃值: (137)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
xsy3660 4 2006-1-5 18:13
25
0
好一篇精华文章,顶
游客
登录 | 注册 方可回帖
返回