当前位置:操作系统 > windows8 >>

基于VC++2012在Windows8上实现文件隐藏


请见代码分析,

[cpp] 
#include <windows.h> 
#include <WinNT.h> 
 
 
//从ntddk中拿出来的一些结构体定义,在ZwQueryDirectoryFile()中要用到 
 
typedef LONG NTSTATUS; 
#define NT_SUCCESS(Status) ((NTSTATUS)(Status)>=0) 
//参数类型 
typedef struct _IO_STATUS_BLOCK  
{  
    NTSTATUS  Status;  
    ULONG    Information;  
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;  
//字符串类型 
typedef struct _UNICODE_STRING  
{  
    USHORT    Length;  
    USHORT    MaximumLength;  
    PWSTR    Buffer;  
} UNICODE_STRING, *PUNICODE_STRING;  
//枚举类型,主要利用FileBothDirectoryInformation 
typedef enum _FILE_INFORMATION_CLASS { 
    FileDirectoryInformation = 1, 
    FileFullDirectoryInformation, 
    FileBothDirectoryInformation, 
    FileBasicInformation, 
    FileStandardInformation, 
    FileInternalInformation, 
    FileEaInformation, 
    FileAccessInformation, 
    FileNameInformation, 
    FileRenameInformation, 
    FileLinkInformation, 
    FileNamesInformation, 
    FileDispositionInformation, 
    FilePositionInformation, 
    FileFullEaInformation, 
    FileModeInformation, 
    FileAlignmentInformation, 
    FileAllInformation, 
    FileAllocationInformation, 
    FileEndOfFileInformation, 
    FileAlternateNameInformation, 
    FileStreamInformation, 
    FilePipeInformation, 
    FilePipeLocalInformation, 
    FilePipeRemoteInformation, 
    FileMailslotQueryInformation, 
    FileMailslotSetInformation, 
    FileCompressionInformation, 
    FileObjectIdInformation, 
    FileCompletionInformation, 
    FileMoveClusterInformation, 
    FileQuotaInformation, 
    FileReparsePointInformation, 
    FileNetworkOpenInformation, 
    FileAttributeTagInformation, 
    FileTrackingInformation, 
    FileMaximumInformation 
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; 
 
 
typedef VOID (NTAPI *PIO_APC_ROUTINE)( 
                         IN PVOID ApcContext, 
                         IN PIO_STATUS_BLOCK IoStatusBlock, 
                         IN ULONG Reserved); 
 
typedef struct _FILE_BOTH_DIRECTORY_INFORMATION {  
    ULONG NextEntryOffset; 
    ULONG Unknown; 
    LARGE_INTEGER CreationTime; 
    LARGE_INTEGER LastAccessTime; 
    LARGE_INTEGER LastWriteTime; 
    LARGE_INTEGER ChangeTime; 
    LARGE_INTEGER EndOfFile; 
    LARGE_INTEGER AllocationSize; 
    ULONG FileAttributes; 
    ULONG FileNameLength; 
    ULONG EaInformationLength; 
    UCHAR AlternateNameLength; 
    WCHAR AlternateName[12]; 
    WCHAR FileName[1]; 
} FILE_BOTH_DIRECTORY_INFORMATION,*PFILE_BOTH_DIRECTORY_INFORMATION; 
 
 
 
 
typedef NTSTATUS ( __stdcall *ZWQUERYDIRECTORYFILE ) ( 
                                                      IN  HANDLE FileHandle, 
                                                      IN  HANDLE Event OPTIONAL, 
                                                      IN  PIO_APC_ROUTINE ApcRoutine OPTIONAL, 
                                                      IN  PVOID ApcContext OPTIONAL, 
                                                      OUT PIO_STATUS_BLOCK IoStatusBlock, 
                                                      OUT PVOID FileInformation, 
                                                      IN  ULONG Length, 
                                                      IN  FILE_INFORMATION_CLASS FileInformationClass, 
                     &n

补充:软件开发 , Vc ,
更多windows8疑问解答:
玩转win 8 解开隐藏小工具的神秘面纱玩转win 8 解开隐藏小工具的神秘面纱(2)
Windows 8平板电脑难成主流的10大缘由Windows 8平板电脑难成主流的10大缘由(2)
手工打造Windows 8的开始菜单的技巧手工打造Windows 8的开始菜单的技巧(2)
那些你不熟悉的系统进程管理
Windows 8不能使用建行网银盾的完美解决方案Windows 8不能使用建行网银盾的完美解决方案(2)
Windows快捷键大全 把Windows 8玩弄于鼓掌之间Windows快捷键大全 把Windows 8玩弄于鼓掌之间(2)
Win8系统疑难解答与使用技巧分享Win8系统疑难解答与使用技巧分享(2)
Win8消费者预览版中的IE10浏览器功能详解Win8消费者预览版中的IE10浏览器功能详解(2)
玩转win8系统中的108个运行命令玩转win8系统中的108个运行命令(2)玩转win8系统中的108个运行命令(3)玩转win8系统中的108个运行命令(4)玩转win8系统中的108个运行命令(5)玩转win8系统中的108个运行命令(6)
windows8技巧大扫盲 50个使用小技巧集锦windows8技巧大扫盲 50个使用小技巧集锦(2)windows8技巧大扫盲 50个使用小技巧集锦(3)windows8技巧大扫盲 50个使用小技巧集锦(4)
Windows 8系统15个使用技巧汇总
6分钟给你与开机一样快速的系统重置
分享:Win8预览版安装系统,驱动系统,使用技巧分享:Win8预览版安装系统,驱动系统,使用技巧(2)
Windows用户对于Windows 8的众多功能期待Windows用户对于Windows 8的众多功能期待(2)
将WIN8装入U盘和移动硬盘教程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,