MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
阅读:1326回复:5

取得句柄的实际结果与网上的资料不同,我错or资料错?哪位老大帮着确认一下子~

楼主#
更多 发布于:2007-03-14 12:24
参考的资料是“进程与端口关联”的相关资料
http://vip.6to23.com/NowCan1/tech/fport.htm

资料中说是取得全系统句柄,再根据句柄类型是否为 1ch(XP下) 1ah(2000下)来判断是否为Socket句柄。

实际中,我在句柄类型为1ch的情况下,得到的全是打开的文件。(我的是XP系统。)


在系统进程中(PID:4)可以得到包括我自己的驱动打开的文件,也能得到 software 、SAM等被打开的注册表文件。

但在应用层的进程中却得到了N多目录,比如:\Windows      \WIndows\system32等。。

我新建了个文本文档,并打开它,但在进程中却没有发现对应的文件~
在不做句柄类型判断全部按文件句柄操作的情况下,仍然得不到我打开的“新建文本文档”

如果说我的代码有错误,可为什么得到了系统打开的一些文件呢?如果说没错误,为什么得不到我打开的文本档。
如果网络上的资料是正确的为什么我自1cH中得到的全是文件,难道从Socket端口中也能得到文件名字?

汗~真是晕了,老大们帮着解释一下啊~谢谢~
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-14 15:01
刚用ProcessExplorer查看了一下儿,看来它的结果跟我试验的结果一样的,在驱动中打开的文件,都可以得到,但在应用层打开的文件,它也找不到。
先打开了个abc.txt  在ProcessExp里面Find Handle,结果是没有找到。
然后用程序以独占方式打开了一个exe文件,在ProcExp里面同样是没有找到。
但在驱动中打开的文件,就找到了。
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-03-14 15:55
可以取得应用层的打开文件了,但的的确确是文件类型为01cH的句柄,为什么网上的资料都说1cH是Socket句柄呢?Socket的文件句柄类型值又是多少呢?
汗~~今天大牛们都不在啊?
wuyanfeng
驱动小牛
驱动小牛
  • 注册日期2003-08-26
  • 最后登录2011-05-06
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望127点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-03-14 16:44
知道是文件句柄后,还要判断文件名是不是 tcp  .....
GNiDiA
驱动小牛
驱动小牛
  • 注册日期2006-10-11
  • 最后登录2017-10-09
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2007-03-14 16:46
记事本打开的文件,好象在读完内容后就关了
MuseHero
驱动小牛
驱动小牛
  • 注册日期2005-04-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望156点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-03-14 20:58
可以得到应用层的文件了。
但用NtQueryInformationFile自文件句柄取文件名时,在转换一部分后,会卡住不返回~不知是咋回会事儿~
仍然不明白Socket句柄类型是什么~网络上都说是01cH,但明明01cH是文件句柄类型~
游客

返回顶部