阅读:5458回复:8
minifilter底层加密研发总结
试用期任务是Word文档加密。
基于shenhui大侠的minifilter源码,主要修改了一些死锁和同时兼容NTFS和FAT32文件格式。 1。判断磁盘类型 // FASTFAT - 0x0500 - 0x053F // NTFS - 0x0700 - 0x07FF (PFSRTL_COMMON_FCB_HEADER)FltObjects->FileObject->FsContext; 论坛上有。 2。多个文件同时打开死锁。对文件加读写锁。 3。对扩展名进行过滤,要不然要过滤文件太多。 4。对缓存的清除,感觉在minifilter下,对缓存的清除非常清晰。 现在已完成在NTFS和FAT32下Word文档的加解密,基本成功。 |
|
沙发#
发布于:2011-03-21 09:38
您好,可以分享源码吗?
|
|
板凳#
发布于:2011-03-22 14:36
2.多个文件同时打开死锁。对文件加读写锁。
请问这个是PostCreate里面,设置 Data->Iopb->Parameters.Create.ShareAccess = 0 ? |
|
地板#
发布于:2011-03-22 17:37
在CTX模块
to1楼源码不能提供。 |
|
地下室#
发布于:2011-03-22 19:44
不好意思,“在CTX模块”是什么意思?我又没有你的源码,
请问,你是用自旋锁还是别的什么原理实现的, 好了,我先说一下我的办法, 1. 在PreCreate里面, if(当前的进程和扩展名,是需要监视的类型) { Data->Iopb->Parameters.Create.ShareAccess &= !FILE_SHARE_READ; FltSetCallbackDataDirty(Data); } 这样,当机密进程打开一个文件的时候,别的进程就不能打开该文件了 |
|
5楼#
发布于:2011-03-23 11:43
晕,没有共享精神啊,show一下自己不是很无聊啊
|
|
6楼#
发布于:2011-04-08 10:15
wayitech 你好,我现在也正在研究minifilter对word加密,每次写都提示“内存不足无法保存”,已经实现了对txt的测试,向想你请教一些问题,望不吝赐教。QQ:262772639 E-mail:happy.wd10@163.com
|
|
7楼#
发布于:2014-10-29 15:06
我的minifilter透明加密,在NTFS下加解密都是成功的,但是在FAT32下打开WPS会蓝屏,请问大神这个该怎么解决啊?
|
|
8楼#
发布于:2014-11-03 12:12
谁是大神啊,蓝屏就看!analyze -v。
|
|