首页
社区
课程
招聘
请问关于GetWindowText
2004-5-26 16:35 6392

请问关于GetWindowText

2004-5-26 16:35
6392
在Windows2000下,可以根据GetWindowText或者是GetDlgItemText获得文本内容
,但是有些程序用这些函数为什么不能断下来。
但是在Windows2000下,hmemcpy不能用的阿,请问是如何?

[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 6
打赏
分享
最新回复 (11)
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
clife 2004-5-27 10:36
2
0
首先感谢斑竹的回复
可能是我的问题没有描述清楚。

我的意思是说在Win9x中,hmemcpy是内部调用的,因为在GUI的实现中,获得输入框的文字无非就是内存拷贝,这些信息都是在进程的4G空间之中。

按照FAQ中所述,在2000中系统就不是用hmemcpy了。我认为就只能使用
GetWindowText
GetDlgItemText获得文本框的内容
即便MFC中的UpdateData也是调用这两个函数。
可以依然有一些软件仍然不能够用softice在这两个函数断下来。
请问这是如何实现的。

我在编程的时候又如何实现呢。

盼望高手解答
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
clife 2004-5-27 10:41
3
0
另外关于API的Unicode版本我是知道的。

WinCE的API都是Unicode的
但是Windows2000不是。难道这些软件用的都是
GetWindowTextW吗?

谢谢
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
clife 2004-5-28 10:53
4
0
up
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2004-5-28 11:36
5
0
我想,软件用了一些复杂的方法去得到字符串

举例,程序在输入 window 之上安装了 Message Hook Procedure,接收按键动作,记录在内存里。

完全地可以不使用 getwindowtext
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
clife 2004-5-28 15:04
6
0
不会要这样大动干戈吧
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2004-5-28 16:34
7
0
要是他这样编写,你也只好接受
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
clife 2004-5-28 17:15
8
0
除了这种方法,还有什么呢?
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
clife 2004-6-1 11:19
9
0
up
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
圣堂武士 2004-6-1 16:45
10
0
这个问题我也经常遇到,每次都是再根据软件的特点,用别的方式下断点。
请求斑竹还是给解答一下吧。
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
clife 2004-6-1 18:55
11
0
主要是实现的机制

如果只是要断下来

可以先用DeDe找到事件的地址

然后用OllyDbg进行动态调试
雪    币: 108
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
冷静 2004-6-1 21:03
12
0
可以先静态分析,再动态跟踪,一般情况下这样较容易找到关键的地方。:(
游客
登录 | 注册 方可回帖
返回