阅读:3320回复:14
文件保护中怎么隐藏文件或文件夹??????????????
文件保护中怎么隐藏文件或文件夹
我在用vxd,和wdm驱动中,读写都可以控制了。 怎么隐藏文件或文件夹???????? |
|
沙发#
发布于:2001-08-25 19:48
请注意 findnext & findopen,调试几次
|
|
板凳#
发布于:2001-08-27 15:24
原来dos下,可以将文件的所有属性都加上,可以完全做到这一点,想来在windows下也可以。
找一个诺顿的diskedit实施。将一个文件的所有属性标志上,然后到 dos或用浏览器打开看。 原则: 一个什么都是的文件什么都不是!!!! |
|
地板#
发布于:2001-08-29 13:54
谢谢大家!!
|
|
地下室#
发布于:2001-09-05 20:47
获取IFS的FINDFIRSTFILE和FINDNEXT的代码
|
|
5楼#
发布于:2001-09-05 22:13
怎么没人回答呢,我在蔬菜工作室里见过,也在好多软件中见过,用的是一个VXD,有谁知道怎么用吗
|
|
|
6楼#
发布于:2005-02-28 00:07
奉送GMail邮箱一个寻求解决我的难题!!!!!!
我用了一些共享的文件夹隐藏软件,发现他们生成了一个文件夹,文件夹的名字全部由空格组成,而我自己建立这样的文件夹却始终不能成功。另外,这些软件还能建立一个名字为“...”的文件夹,我也不能自己建立这样的文件夹,并且既不能访问也不能删除,好奇怪!而且,“...”下面还有很多文件夹和文件,但是我没有办法访问,真不知道他们是怎样把文件放进去的,因为我用了各种方法都无法向“...”文件夹内移动文件,在DOS下和安全模式下都不能访问,甚至换了一个平台还是不能访问,用SHFileOperation, rename, CreateFile, CreateDirectory都不行,真是绝了! 希望高手们指点一下迷津,我想了好几天,也查了好几天的资料都没有想明白。 我的分数不多,先给20分,解决了问题再给100分,等我积累多了分,再给,决不食言。同时,对于解决了问题的高手,奉送GMail邮箱一个,我有一些GMail邀请还没有送完。 我的邮箱:godofsoft@gmail.com |
|
|
7楼#
发布于:2005-02-28 05:34
奉送GMail邮箱一个寻求解决我的难题!!!!!! 这是一个虚拟文件夹的junction point. 实际的名称可能是:....{4e39185e-4a2a-4ce4-a08b-18e1543db0eb} (GUID),用CMD可以看到的。 |
|
8楼#
发布于:2005-02-28 08:59
hook ZwQueryInformationFile
|
|
|
驱动老牛
|
9楼#
发布于:2005-02-28 09:36
到文件系统讨论区搜一下,帖子太多了。
|
|
10楼#
发布于:2005-02-28 11:23
到文件系统讨论区搜一下,帖子太多了。 可惜以没有哪一个帖子能够真正解决问题。 可以肯定,这不是文件系统驱动的问题,而是一个普通的编程技巧的问题。可惜我不知道这个技巧。 |
|
|
11楼#
发布于:2005-02-28 11:54
case IRP_MN_QUERY_DIRECTORY:
if (Irp->MdlAddress) { pBuffer = MmGetSystemAddressForMdl(Irp->MdlAddress); } else { pBuffer = Irp->UserBuffer; } pQueryDirWin32 = (PFQD_SmallCommonBlock)pBuffer; while(MmIsAddressValid(pQueryDirWin32)) { switch(((PQUERY_DIRECTORY)(&irpStack->Parameters))->FileInformationClass) { case FileDirectoryInformation: dwFileNameLength = ((PKFILE_DIRECTORY_INFORMATION)pQueryDirWin32)->CommonBlock.FileNameLength; pFileName = ((PKFILE_DIRECTORY_INFORMATION)pQueryDirWin32)->FileName; break; case FileFullDirectoryInformation: dwFileNameLength = ((PKFILE_FULL_DIR_INFORMATION)pQueryDirWin32)->CommonBlock.FileNameLength; pFileName = ((PKFILE_FULL_DIR_INFORMATION)pQueryDirWin32)->FileName; break; case FileBothDirectoryInformation: dwFileNameLength = ((PKFILE_BOTH_DIR_INFORMATION)pQueryDirWin32)->CommonBlock.FileNameLength; pFileName = ((PKFILE_BOTH_DIR_INFORMATION)pQueryDirWin32)->FileName; break; default: dwFileNameLength = 0; pFileName = NULL; break; } if (0 == pQueryDirWin32->NextEntryOffset) { pQueryDirWin32Next = NULL; } else { pQueryDirWin32Next = (PFQD_SmallCommonBlock)((CHAR*)pQueryDirWin32 + pQueryDirWin32->NextEntryOffset); } if ((dwFileNameLength > 0) && (dwFileNameLength < sizeof(WCHAR)*260) && MmIsAddressValid(pFileName)) { memset(szTmp, 0, sizeof(WCHAR)*260); memcpy(szTmp, pFileName, dwFileNameLength); if (szTmp[0] != L\'.\') { if (IsHideFile(szTmp)) { DebugPrint((\"Genericcomplete File find!!\\r\\n\")); dwSize = ((PQUERY_DIRECTORY)(&irpStack->Parameters))->Length; dwSize = dwSize - ((CHAR*)pQueryDirWin32 - (CHAR*)pBuffer); if (MmIsAddressValid(pQueryDirWin32Next)) { sun_memShrink((PVOID)pQueryDirWin32, dwSize, (PVOID)pQueryDirWin32, (CHAR*)pQueryDirWin32Next - (CHAR*)pQueryDirWin32); } else { memset((PVOID)pQueryDirWin32, 0, dwSize); } } } } pQueryDirWin32 = pQueryDirWin32Next; } break; } break; |
|
12楼#
发布于:2005-02-28 12:02
如何解释更换平台后依然不能访问,当过滤驱动都不可能存在时?
|
|
|
13楼#
发布于:2005-02-28 12:05
这个问题与操作系统不能识别的文件名有关,比如使用特殊字符用特殊方法创建的文件夹。
我只是不知道具体的方法。 大家可以搜一搜 高强度文件夹加密 这个共享软件,我没有想明白。 |
|
|
14楼#
发布于:2005-02-28 12:11
我想可能是驱动可以创建并读写该文件夹,但由于上层操作系统做了文件名限制,所以换平台没用。
|
|