能力值:
( LV2,RANK:10 )
|
-
-
26 楼
请高手帮助回答我的问题.一切烦劳!
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
不错的东西````值得学习
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
关于隐藏特定路径的文件,我想是用ZwQueryDirectoryFile的第一参数(文件句柄handle)获取该文件对象再与您要隐藏的特定的文件比较一下就是了...
另外楼上有位仁兄说"现在都没人有兴趣研究这个了,都研究NP了...."我想说的是技术大多是相通的,学精了哪一种都很牛,而不是一味的追波逐流,那样这样还没学好又放下去下别的,我想到死也学不好一样,毕竟新技术不会等你学好了某些知识再出的....
以上纯属个人观点,无任何恶意
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
这么长...看着我都晕了...
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
加载了驱动后只要读取目的文件夹就会蓝屏……
请大虾指教
|
能力值:
( LV2,RANK:10 )
|
-
-
31 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
32 楼
不错呀!认真学习一下!
|
能力值:
( LV2,RANK:10 )
|
-
-
33 楼
学习了,谢谢啊
|
能力值:
( 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);
...
一点愚见。。。望大虾们指正。。。
|
能力值:
( 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到文件底部的内容
|
能力值:
( LV12,RANK:400 )
|
-
-
36 楼
感谢 分享,很好很有用。
|
|
|