sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2314回复:18

急:核心态下怎么从句柄取得窗口的标题?

楼主#
更多 发布于:2002-10-08 13:22
就跟GetWindowTextA一样,只是必须在核心态下。

softice的hwnd命令是怎么搞出来的?
比如:
>hwnd iexplore
handle class winproc tid mod
1101 IME 77098900 604 module12

最新喜欢:

xiangshifuxiangs...
sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-09 09:02
大侠该出手了。
waiting....................
sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-09 11:36
我想可以从thread context中取得,但是是在不知道各个数据结构之间的偏移关系。
win32thread=KTEB+124=TEB+40,win32thread存放win32方面的信息,包括线程的窗口句柄列表(offset=0xb8),但是标题怎么取得仍然未知,M$太不够意思了,这点资料都不愿公开,莫非一定要反汇编跟综GetWindowTextA吗?

实在没有信心去 u GetWindowTextA了,F8,F12............
sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-23 17:22
up.
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
地下室#
发布于:2002-10-23 17:56
也没有耐性,看别人的吧。。。。
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-23 17:57
如果能想法从ring0调用一段ring3代码,什么问题都解决了。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-24 09:37
问题我的程序就一个驱动.没有ring3代码
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-24 10:01
加一个不就是了,自己确定一个通信的机制。
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-24 10:08
加一个不就是了,自己确定一个通信的机制。

是啊,自己生成一小段ring3代码调用API,然后返回给驱动
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
fromnight
驱动牛犊
驱动牛犊
  • 注册日期2002-10-14
  • 最后登录2004-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-10-24 10:25
引用:

------------------------------------------------------------是啊,自己生成一小段ring3代码调用API,然后返回给驱动
--------------------


这样获得的handle在ring0能直接用吗?
xxxxx xxxxx x x x xxxx xxxx x x x x x x
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-24 10:26
引用:

------------------------------------------------------------是啊,自己生成一小段ring3代码调用API,然后返回给驱动
--------------------


这样获得的handle在ring0能直接用吗?

我只是提个思路,能不能成功都不一定。怎么用?SI可只是显示一下而已,如果要用,还得到ring3去
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-11-04 09:54
ring0态究竟如何取得win32窗口的信息?

哪里有ms的工程师出没的论坛,news group ?

我的程序必须在核心态取得。
没有ring3程序的,既然microsoft可以实现,那么就应该有人知道。

AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-11-04 11:58
ring0态究竟如何取得win32窗口的信息?

哪里有ms的工程师出没的论坛,news group ?

我的程序必须在核心态取得。
没有ring3程序的,既然microsoft可以实现,那么就应该有人知道。

 

你确保MS只通过ring0来实现的吗?
是什么模块中处理的?请指教
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-11-04 12:30
user32.dll-------user mode
  |
win32k.sys-------kernel mode

不管是在哪里实现的,我想都应该可以从kernel mode下取得这些信息。

KTEB(或者TEB)有个win32thread成员专门对应当前线程的win32信息,在win32thread有一个hwndlist列表保存当前线程的所有hwnd列表,RECT,parent,proc....但是好象没有标题这个东东。

我想还是可以从Kteb中或者resource中取得标题的。

不管怎样,如果可以在kernel mode可以直接操纵 win32 user gui毕竟可以与绕过ring3下的通信问题。  
kf200512
驱动牛犊
驱动牛犊
  • 注册日期2007-01-24
  • 最后登录2008-03-10
  • 粉丝0
  • 关注0
  • 积分260分
  • 威望27点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-04-16 16:25
解决了吗?这个问题我也碰到了
驱网无线,快乐无限
zzzevazzz
驱动小牛
驱动小牛
  • 注册日期2002-12-27
  • 最后登录2020-06-29
  • 粉丝0
  • 关注0
  • 积分1008分
  • 威望242点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分0分
  • 社区居民
15楼#
发布于:2007-04-17 02:49
02年的帖子
现在有了nt源代码,一查就查出来啦。
[b][url]http://hi.baidu.com/zzzevazzz[/url][/b]
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
16楼#
发布于:2007-04-17 08:26
同上~
NtUserXXX函数
没有战争就没有进步 X3工作组 为您提供最好的军火
kf200512
驱动牛犊
驱动牛犊
  • 注册日期2007-01-24
  • 最后登录2008-03-10
  • 粉丝0
  • 关注0
  • 积分260分
  • 威望27点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-04-28 15:54
是些什么函数啊?能具体点吗,活推荐点材料啊,小女子谢过了
驱网无线,快乐无限
zzzevazzz
驱动小牛
驱动小牛
  • 注册日期2002-12-27
  • 最后登录2020-06-29
  • 粉丝0
  • 关注0
  • 积分1008分
  • 威望242点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分0分
  • 社区居民
18楼#
发布于:2007-04-28 23:27
nt4代码中,主要有三处:

1,用户态 DefWindowProcWorker 对 WM_GETTEXT 的处理
位于 nt4\private\ntos\w32\ntuser\client\Clmsg.c : 760

2,核心态 xxxDefWindowProc 对 WM_GETTEXT 的处理
位于 nt4\private\ntos\w32\ntuser\kernel\Dwp.c : 1290

3,从用户态到内核 InternalGetWindowText -> NtUserInternalGetWindowText -> _InternalGetWindowText
依次位于
nt4\private\ntos\w32\ntuser\client\Ntstubs.c : 1081
nt4\private\ntos\w32\ntuser\kernel\Ntstubs.c : 5455
nt4\private\ntos\w32\ntuser\kernel\Winmgr.c : 176

(唉,非要说得连火星人都明白……)
[b][url]http://hi.baidu.com/zzzevazzz[/url][/b]
游客

返回顶部