-
-
[讨论]notepad的骚操作
-
发表于:
2018-11-30 17:40
3043
-
在做文件微过滤驱动,关注 创建文件
的部分。
都知道,NtCreateFile 里
CreateDisposition 的多个参数,有文件不存在就创建的功能。
于是在pre操作里关注了这些参数,获取了文件相关信息,然后在post操作里,用WorkItem去处理。
其中,在
post 里,根据 Data->IoStatus.Information == FILE_CREATED 去判断到底是不是创建操作。
写完测了一下,OK可用,能区分打开与创建。
然后打开win7 x64 notepad,随便输入XXXX,保存一下,纳尼? 竟然出现两次创建消息,结果都是 FILE_CREATED!
难道撸了半天的代码有问题?~~__~_@
仔细调发现,一次是Create,一次是 Open_If,但结果都成功的
FILE_CREATED.
好吧,用procmon看了一下,在两次create操作之间,果然有个delete;
可是仅仅是输入保存为新文件,哪来的删除逻辑?略神奇。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课