用inline hook方法对windows文件删除函数进行挂钩,主要目的是通过挂钩NtSetInformationFile使得在系统删除文件情况的同时对文件作隐蔽备份。目前进展:
(1)正常删除情况
由于当前文件句柄已被占用,故通过MoveFileW将删除文件转移至隐蔽文件夹,再通过CreateFile在被删除文件目录下创建同名的空文件(用于hook控制权交出后不影响正常的后续删除流程)。
(2)shift + delete
怀疑其不是操作文件目录,而是直接操作磁盘文件,故无法进行隐蔽备份,如何解决?
另,NtSetInformationFile是否用于将文件标记为回收站文件,能否直接调用?vc hook delete