阅读:1748回复:2
求助:用minifilter做的透明加密驱动与防毒软件相冲
各位高手,小弟遇到了一个棘手的问题。有先过爬过文了,但还是没有解决。
我用minifilter做了一个透明加密驱动,有作文件尾标记及逻辑去尾,其它应用程序加解密运作无误,但在有开启防毒软件的情况下,处理word加密会失败。 我word加密的做法是这样的:word写入~WRDxxxx.tmp时不加密,待它rename成.doc时再于IRP_MJ_SET_INFORMATION的rename操作中将整个文件从头到尾加密。在没有开启防毒软件的情况下,加密运作正常;但是一旦开启防毒软件,当文件size大一点时,会出现认可错误,无法储存的错误讯息(如Avira,小红伞),或者出现内存不足的错误讯息(如卡巴)。 我猜是cache的问题。因为我用FileMon监看,在没有开启防毒软件的情况下,word作完rename后,开启rename/加密后的.doc,会有大量的READ动作(我在IRP_MJ_CREATE时有用CcFlushCache及CcPurgeCacheSection刷cache);但是在有开启防毒软件的情况下,则不会出现大量的READ。但是我已有在IRP_MJ_CREATE刷cache了,不知道为何仍会如此? 想请问各位有经验的前辈有遇过同样或类似的问题吗?如何解决?拜托给个方向。 |
|
沙发#
发布于:2009-07-13 22:01
回 1楼(xhjjxm) 的帖子
您好,那请问可能的原因是?或有无解法及建议方向? |
|
板凳#
发布于:2009-07-13 21:02
说明杀软也跟随Word和你的操作,做了大量的缓冲工作,致使内存不足。
|
|