您的位置:首页 > 职场人生

透明加密驱动开发心得

2009-01-13 17:42 393 查看
最近研究文件透明加密驱动的开发,基于MiniFilter
具体实现方式是在一文件尾加一块我自己的数据,

IRP_CREATE时中通过FltSetInformationFile ()
去掉这个数据块
在CleanUp中再写上去,
在研究中发现,
若自己管理计数Ref则
在Create时Ref++
在CleanUp中Ref--
最后Ref为0,

同样也可以在Close中Ref--

区别在于CleanUp中Ref为0的时间要先于Close.

还发现在CleanUp中,
若FltWriteFile以NOCACHE的方式进行,则不能成功
返回STATUS_NO_IMPLEMENT.
奇怪,原因没有弄清楚.

原因弄清楚了,因为参数不对,
对于NONCACHE方式,
WriteBuf
Length
ByteOffset
都必须是SectorSize(一般为512)对齐的.

还有一问题是文件要对齐才好操作
若一个文件是300个字节的.

|0 300|-------------Pad------------512|--------------------------Encrypt Tail-----------1024|
这样处理才好,
方法有很多种的,
这只是我一家之言.

HaHaH...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 透明加密