有一个非常生草的做法:
众所周知的是,微软提供了mini filter的方式来监视文件系统变化……
啊,我们不用监视SetInformation或者Create:Create适用范围太窄了,而SetInformation则没办法区分“送入回收站”和“从系统中除外”
(因为扔回收站也会设置Disposition再取消掉,估计是为了检查冲突?)
但是反过来,在所有句柄都被释放,Cleanup回调被调用的时候把Disposition取消掉,就可以实现阻止文件被删除的效果了。
(虽然这部分已经写出来了,但是核心代码就两行的玩意没什么发出来的必要…过两天看看能不能撸个麻烦点的二阶回收站出来)
嘛嘛嘛,当然当然,总是删文件不过脑子的话,谁也救不了的啦!
发布于 2022-11-16 19:02・IP 属地北京