|
[求助]minifilter 透明加密 修改filesize 和 validdatalength
我的流程是这样的, PostCreate的时候判断是否是加密文件,是的话写上加密头,然后刷缓存.在PreWrite的地方对数据进行加密,写文件的偏移量加上一个加密头大小,另外在PreSetInformation处过滤,如果是机密进程那么ValidSize EndofFile AllocateSize Position等全部加上一个加密头大小,在PostQueryInformation的地方减掉一个加密头大小 因为OFFICE系列写文件的时候没有设置ENDOF,导致文件被截断,所以我在CACHE写文件的时候fltsetinformation设置了ENDOF,又因为WINDOWS SERVER 2008 下写文件被validdatalength截断,我尝试使用ftlsetinformation设置VALIDDATALENGTH 失败,所以直接修改FCB->Validdatalength。 大概思路是这样的. |
|
[求助]minifilter 透明加密 修改filesize 和 validdatalength
谢谢你的回答,我之前有使用CcSetFileSize来通知,可是还是不行。 我还尝试在修改validdatalength时获取资源锁,结果导致程序死锁。 看了NT 文件系统内幕,书上说validdatalength的修改需要通过顶层设备, 我又尝试使用SetFileInformation来修改 Validdatalength,这样可以修改成功,但是它好像把currentoffset也修改,虽然我用dt fileobject 的 currentoffset没有变,但是当NOCACHE 写文件的时候,它只保存了最后一页数据,也就是说NOCACHE 我只收到了offset=0x2000,writelength=0x3D7的写请求,前面的0x2000的数据写请求没有接收到。。。 |
|
|
|
[求助]如何快速转正呀!!!
同问,我也不懂啊 |
|
|
|
[注意]新人报道,请多多指教
现在搞驱动了,以后要在这里常驻了 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值