阅读:1816回复:3
关于函数:ZwQueryDirectoryFile
我跟踪当使用ZwQueryDirectoryFile()函数来显示目录下的文件/目录时,显示结果是分
bReturnOnlyEntry=1 和 bReturnOnlyEntry=0 来实现的, 是这样吗?为什么?大家有更多的了解吗? :P |
|
沙发#
发布于:2003-07-07 18:53
你要做什么?, 隐藏文件????
|
|
板凳#
发布于:2003-07-08 08:37
在本网站的专栏文章“隐藏任意进程,目录/文件,注册表,端口”
我利用了它上面贴的隐藏目录/文件的那一段,对系统调用ZwQueryDirectoryFile进行拦截, 出现了以下问题,对隐藏的文件进行编辑就会死机,unhook该系统调用后,该文件名也丢了。 是隐藏文件用的。文件名隐藏后,文件还可编辑。 Q1: 我试图用参数 bReturnOnlyOneEntry为1来判断是否是编辑,但调试中发现列目录文件时 有一个文件bReturnOnlyOneEntry为1,其他bReturnOnlyOneEntry为0。 Q2: 总感觉一个列目录文件的功能是分参数bReturnOnlyOneEntry为1和为0的 两次ZwQueryDirectoryFile调用来实现的。假如要隐藏的目录/文件名是bReturnOnlyOneEntry 为1的返回结果(通过设置rc=0x80000006),那么其他bReturnOnlyOneEntry为0的返回结果也都不存在了。 请问为什么?怎么解决?谢谢!! |
|
地板#
发布于:2005-01-31 14:44
explorer.exe查询目录的时候,先用bReturnOnlyOneEntry=1,获取一个文件,然后bReturnOnlyOneEntry=0,连续获取文件列表。
所以,如果第一次正巧碰到是要隐藏的文件,必须再调用一次,然后返回,否则什么都看不见了! 查看文件结果顺序可用dir,返回顺序应该是物理存储位置! 这个是我的最新研究,呵呵 |
|
|