首页
社区
课程
招聘
[分享]hook ZwQueryDirectoryFile实现文件隐藏
发表于: 2008-4-23 19:52 52969

[分享]hook ZwQueryDirectoryFile实现文件隐藏

2008-4-23 19:52
52969
收藏
免费 7
支持
分享
最新回复 (35)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
请高手帮助回答我的问题.一切烦劳!
2008-6-4 10:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
不错的东西````值得学习
2008-7-25 20:51
0
雪    币: 151
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
关于隐藏特定路径的文件,我想是用ZwQueryDirectoryFile的第一参数(文件句柄handle)获取该文件对象再与您要隐藏的特定的文件比较一下就是了...

另外楼上有位仁兄说"现在都没人有兴趣研究这个了,都研究NP了...."我想说的是技术大多是相通的,学精了哪一种都很牛,而不是一味的追波逐流,那样这样还没学好又放下去下别的,我想到死也学不好一样,毕竟新技术不会等你学好了某些知识再出的....

以上纯属个人观点,无任何恶意
2008-9-11 15:21
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
这么长...看着我都晕了...
2008-9-17 18:42
0
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
加载了驱动后只要读取目的文件夹就会蓝屏……
请大虾指教
2009-5-31 01:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
2009-6-4 00:17
0
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
不错呀!认真学习一下!
2009-7-24 14:22
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
学习了,谢谢啊
2010-1-18 15:31
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
学习了一下午,解决了一部分的问题。。。
我的测试环境为XP SP3, 开发环境VS2008

经过反复BSOD。。。发现pFileInfo->FileName并不是直接指向文件名字串,往往在文件名前有大量的‘\0’,会导致过滤失败。。。

下面是自己的修改的代码NewZwQueryDirectoryFile函数:
...
PWCHAR pStr;
...

                do
                {
                        bLastOne = !( pFileInfo->NextEntryOffset );
                        //寻找文件名起始地址
                        pStr = pFileInfo->FileName;
                        while(*pStr == L'\0')
                        {
                                pStr++;
                        }
                        RtlInitUnicodeString(&uniFileName,pStr);

                        RtlUnicodeStringToAnsiString(&ansiFileName,&uniFileName,TRUE);
                        RtlUnicodeStringToAnsiString(&ansiDirName,&uniFileName,TRUE);
                        ...
                  }while(!bLastOne);
...

一点愚见。。。望大虾们指正。。。
2011-2-28 17:28
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
//原理把当前的FileInfo从链表中摘除,达到隐藏的目的
                                        iPos = ((ULONG)PfileInfo) - (ULONG)FileInformation;////取得当前FileInfo到文件起始地址FileInformation的偏移;
                                        iLeft = (DWORD)FileInformationLength - iPos - PfileInfo->NextEntryOffset;//当前FileInfo的距离
                                        RtlCopyMemory( (PVOID)PfileInfo, (PVOID)( (char *)PfileInfo + PfileInfo->NextEntryOffset ), (DWORD)iLeft );//复制下一个FileInfo到文件底部的内容
2013-2-15 11:49
0
雪    币: 458
活跃值: (306)
能力值: ( LV12,RANK:400 )
在线值:
发帖
回帖
粉丝
36
感谢 分享,很好很有用。
2013-11-13 13:57
0
游客
登录 | 注册 方可回帖
返回
//