shenhui
驱动小牛
驱动小牛
  • 注册日期2006-05-11
  • 最后登录2023-02-10
  • 粉丝14
  • 关注11
  • 积分142分
  • 威望1314点
  • 贡献值1点
  • 好评度146点
  • 原创分0分
  • 专家分1分
  • 社区居民
阅读:2420回复:4

ppt文档加解密过程中会出现的共性问题

楼主#
更多 发布于:2009-10-20 14:17
现在在做minifilter下的透明加解密,其它类型的文档都已经初步通过测试,

但是在对ppt文档加解密总存在问题!!!

现象:
          新建一个ppt文档,打开,报错。提示powerpoint不能读数据。

原因:
         ppt进程打开文档时会往回写一些数据,回写是由于一个IRP_FLUSH_BUFFER请求引起的,对于新建文档,写的数据范围是0~0x1000和0x2000~0x2800,中间有一部分数据没有回写,由于我在写的时候对数据加密,从而导致中间有一部分数据没有加密。

word和excel在打开时都不会有回写的动作,ppt为什么要这么做,大家是怎么解决这个问题的呢?
作一名真实,诚实,优秀的科技工作者!
shenhui
驱动小牛
驱动小牛
  • 注册日期2006-05-11
  • 最后登录2023-02-10
  • 粉丝14
  • 关注11
  • 积分142分
  • 威望1314点
  • 贡献值1点
  • 好评度146点
  • 原创分0分
  • 专家分1分
  • 社区居民
沙发#
发布于:2009-10-21 09:32
哪位遇到过类似的情况,能否说说思路呢?
作一名真实,诚实,优秀的科技工作者!
feng_zhibing
驱动牛犊
驱动牛犊
  • 注册日期2009-12-11
  • 最后登录2009-12-23
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望191点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-12-11 16:12
等待中。。。。
shenhui
驱动小牛
驱动小牛
  • 注册日期2006-05-11
  • 最后登录2023-02-10
  • 粉丝14
  • 关注11
  • 积分142分
  • 威望1314点
  • 贡献值1点
  • 好评度146点
  • 原创分0分
  • 专家分1分
  • 社区居民
地板#
发布于:2009-12-17 16:22
我想到的解决方法如下:

    对PPT文档进行修改后,在保存时,点击“Save”和直接点“Close”保存的流程是不同的。

    直接点击“Close”,PPT进程会生成临时文件,这种情况好处理,直接对写入临时文件的内容加密即可。
    点击Save进行保存,PPT进程不会产生临时文件,仅仅将修改过的数据flush回磁盘,因此可能只有部分数据被回写。此时,如果PPT文档在打开前已经是加密文件,那么好处理,加密所有写回到磁盘的数据;
如果PPT文档打开时还是一个未加密文档,那么在这里标记该文档已经被修改,但是写回的数据暂不加密,当文档被关闭时,重新对文件加密即可。

    由于PPT文档的特殊性,未加密文档在第一次修改后,关闭时会被整体加密一遍,因此如果文档较大,第一次关闭文档的时间可能有所延长(实际当中并不明显),这个方法已经被我验证通过。
    但这确实是PPT本身所引起的一些问题,这样做实属无奈之举,也可能还有其他的好办法,暂没有想到。
作一名真实,诚实,优秀的科技工作者!
neak47
驱动小牛
驱动小牛
  • 注册日期2009-05-25
  • 最后登录2016-01-09
  • 粉丝4
  • 关注0
  • 积分140分
  • 威望1221点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分1分
地下室#
发布于:2009-12-21 16:19
这个问题我也碰到了,我也尝试用你的方法试试
游客

返回顶部