首页
社区
课程
招聘
[求助]cmd挂载windbg后,控制台窗口还是能显示信息。
发表于: 2015-2-13 14:50 4689

[求助]cmd挂载windbg后,控制台窗口还是能显示信息。

2015-2-13 14:50
4689
今天发现一个有意思的问题:
xp下运行命令提示符,然后ping另一局域网地址,比如ping 10.121.23.11 -t
命令提示符下不断显示回显报文。

此时用windbg挂载cmd进程,发现回显继续。
按道理,windbg已经中断cmd中的所有线程。
那么,控制台的窗口和cmd进程应该和一般的GUI窗口和进程的关系不一样(因为GUI窗口显示需要线程处理窗口消息)。

又或者任何进程都可以往这个控制台窗口打印数据?
就像cmd窗口也和另外一进程关联(比如说ping.exe)?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
输出的是ping进程好么,具体的输入输出显示动作又不是cmd.exe做的。win7上是conhost.exe,xp上是csrss还是smss不记得了,就是kernel32的DllMain有进行通信的那个啥模块,多年不看代码,已经记不清了
2015-2-13 16:25
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
soh
3
查了下,原先是csrss.exe
是的,这个我之前知道,输出信息的是ping进程(用windbg验证过),你的意思是,多个进程(cmd,ping)都是通过csrss和控制台窗口联系的?
2015-2-13 16:35
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
这个怎么说呢,那个黑乎乎的窗口消息不是任何一个控制台程序管理就是了,当做一个独立的文件更合适,cmd打入一个命令就创建一个新进程,参数里面设置公用控制台,也就是公用这个文件句柄,然后新进程往这个文件写入数据,跟父进程暂停不暂停没关系

你命令行结束cmd.exe看看结果
2015-2-13 16:56
0
游客
登录 | 注册 方可回帖
返回
//