skh2006
驱动牛犊
驱动牛犊
  • 注册日期2008-03-15
  • 最后登录2008-04-29
  • 粉丝1
  • 关注0
  • 积分290分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:1851回复:3

swapBuffers 示例的问题,求教高人!

楼主#
更多 发布于:2008-03-18 15:28
新接触MiniFilter,要做一个透明加密的驱动,运行了swapBuffers例子,目前遇到如下一个问题,求教高人:
为了看到Read和Write的内容,我在swapPostReadBuffers、swapPostReadBuffersWhenSafe、swapPreWriteBuffers里输出了读写文件的buffer,对.txt文件,写的内容可以输出,读的只输出一部分,对.doc文件,读的可以输出一部分,写的内容没有输出,这是为啥呢?
skh2006
驱动牛犊
驱动牛犊
  • 注册日期2008-03-15
  • 最后登录2008-04-29
  • 粉丝1
  • 关注0
  • 积分290分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-03-18 20:11
在NTFS文件系统下,小于4k的文件会交给MFT处理,即会出现Notepad.exe无法解密小于4k的文件的问题,该怎么处理呢?
eleqi
驱动小牛
驱动小牛
  • 注册日期2005-12-20
  • 最后登录2014-01-03
  • 粉丝4
  • 关注2
  • 积分172分
  • 威望1475点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-03-19 01:09
读写使用filespy或Filemon看看,注意: dbgprint和kdprint有字节数限制每次不能大于512字节,且输出UNICDEO 必须在PASSIVELEVEL

“Notepad.exe无法解密小于4k的文件的问题”不会的,是不是打开的文件已被缓存了,使用filespy看看就知道了,另外如果不想被Explorer等预读导致文件被缓存,可以使用命令行方式打开文件,如: notepad  c:\a.txt 注意:最好不要用Explorer查看C盘根目录很可能不小必就被预读了
skh2006
驱动牛犊
驱动牛犊
  • 注册日期2008-03-15
  • 最后登录2008-04-29
  • 粉丝1
  • 关注0
  • 积分290分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-03-19 16:37
非常感谢eleqi的回答!

实验了写字板,发现加密解密是可以的;
记事本由于缓存的机制,现在还不行。
游客

返回顶部