-
-
[求助]写了个微过滤透明加密,奇怪的Read请求各位大牛帮帮忙啊
-
发表于:
2011-7-21 21:44
5157
-
[求助]写了个微过滤透明加密,奇怪的Read请求各位大牛帮帮忙啊
我写了个微过滤透明加密的小程序,我选择把加密头放在文件起始的地方,对notepad加密.
主要流程这样的:
PreCreate:如果是新创建的文件,把头(1k)写进去(非重入的)
PreRead:把读偏移量加上1k
PostRead:解密
PreWrite:把写偏移量加上1k
PreSetInformation:把上层传下来的文件大小加上1k往下传
PostQueryInformation:把下层传上来的文件大小减掉1k往上传
但是遇到了一个诡异的问题.....如果我新建一个文件,保存到磁盘上,流程居然是这样的...会先在PreCreate里面把加密头写进去,然后进到PreWrite里面,接着会过滤到一个NoneCached的PreRead!! .....如果这时候如果我把偏移量加上1k 机密头就写不到文件里边了,如果不修改偏移就一切正常.........
这到底是为什么啊....... 为什么会有IRP_MJ_READ请求? 为什么会写不进加密头啊.......郁闷一周了 也没找到资料.....各位大牛帮帮忙啊.....
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!