防止文件被删除

防止文件被删除一般有两类方法
第一类方法比较简单,通过隐藏、设置权限等等系统提供的方式进行,这类方式有些时候不一定减小。
 
第二类方法就是修改文件系统驱动程序,采用hook的方式,只要hook主进程不死就可生效(进程保护是另一个话题)。
对SSDT使用hook,监控内核文件函数调用即可。
就是hook NtCreateFile,NtReadFile,NtWriteFile,NtQueryInformationFile等等操作
SSDT的修改网上资料很多,我在博客中也有转载。
 
第三种是设计文件系统过滤驱动,这是微软提供的标准方法,这是在驱动层,对文件驱动的操作会经过这一层再到达真正的文件驱动。

 
 
三类方法从系统的角度看,层次从上到下,第一种是系统可以理解为shell层,第二层到达了应用层的底端,与内核交界处,第三种则在内核内部,驱动层,在真正的文件驱动之前,可以截获所有本来要发往文件系统驱动的IRQ(中断请求),从而控制所有文件操作。

你可能感兴趣的:(windows)