これを達成するために.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