我正在制作一个虚拟文件系统库,我想将它添加到任何 .exe 文件中以完成此操作,我需要挂钩所有 Windows 文件功能。
我知道有很多这些功能,但它们是高级 API,是否有这些使用的低级函数的完整列表?
我的意思是 ZwOpenFile <- NtOpenFile <- OpenFile 等(但只有用户模式)
我需要的是尽可能少的函数集来挂钩以覆盖整个文件系统处理。从 Windows API 扭转这一点有点困难。
我已经涵盖了基础知识(现在只读取文件并且肯定不完整),但我还需要文件写入/目录枚举。
奇怪的是,例如FindFirstFileA
使用ZwOpenFile
ZwOpenFile hook. ObjectName : \??\D:\VFS\* Handle : 20
NtQueryDirectoryFileHook hook. Handle : 20
NtQueryDirectoryFileHook hook. Handle : 20
D:/VFS/Test
D:/VFS/test2.txt
D:/VFS/test3.txt
NtQueryDirectoryFileHook hook. Handle : 20
ZwOpenFile hook. ObjectName : \??\D:\VFS\Test\* Handle : 24
NtQueryDirectoryFileHook hook. Handle : 24
NtQueryDirectoryFileHook hook. Handle : 24
D:/VFS/Test/huh.txt
NtQueryDirectoryFileHook hook. Handle : 24
ZwOpenFile hook. ObjectName : \??\C:\Windows\system32\apphelp.dll Handle : 44
感兴趣的功能:
NtCreateFile
NtOpenFile
NtLockFile
NtUnlockFile
NtReadFile
NtWriteFile
NtClose
NtWriteFileGather
NtReadFileScatter
NtQueryDirectoryFile
NtQueryInformationFile
NtSetInformationFile
related
NtQueryVolumeInformationFile
MapViewOfFile
NtOpenSection
NtUnmapViewOfSection
NtFsControlFile
NtDeviceIoControlFile
NtNotifyChangeDirectoryFile