clcnsy
驱动牛犊
驱动牛犊
  • 注册日期2011-01-25
  • 最后登录2011-07-02
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5088回复:11

Minifilter框架下透明加解密 处理xlsx文件发生的问题

楼主#
更多 发布于:2011-03-12 21:02
初次涉及透明加解密问题 还请大牛赐教
在接手前辈写的透明加解密程序时候对程序做了测试
TXT,doc,docx,xls都能顺利完成加解密,在大文件下也都能够成功
但是就是在加密环境下
调用Excel 2007保存xlsx文件的时候弹出
“文档保存成功,但是由于共享冲突,Excel不能重新打开。请关闭文档,然后再打开”
按照提示做了,结果就是无法用Excel再次打开
这个问题是哪部分代码出现纰漏了呢

xls文件保存的没有问题,那在操作xlsx时候是否需要注意什么呢?
还请大牛不胜赐教~~
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2011-03-12 21:26
对excel加密时,在文件关闭时不要对该文件作啥操作,否则它会感智知,就会出这事
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
clcnsy
驱动牛犊
驱动牛犊
  • 注册日期2011-01-25
  • 最后登录2011-07-02
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2011-03-12 21:31
谢谢大牛的回答,针对这个问题我修改一下代码
万分感谢~~
O(∩_∩)O~
clcnsy
驱动牛犊
驱动牛犊
  • 注册日期2011-01-25
  • 最后登录2011-07-02
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2011-03-13 12:05
感谢znsoft给予的指导
根据大牛的意见,我在Excel保存时候我将函数执行的流程打印出来

在得到解答后的时间内,我用WinDbg跟踪Excel的关闭流程

操作流程:打开透明加解密,打开一个Excel,直接执行保存到非系统盘(没有执行关闭),得到如下输出

Start PostCreate
Start Pre SetInfo
Start Pre SetInfo
Start PreRead
Start Pre Write
Write Encryption
Start Pre Write
Write Encryption
Start Pre SetInfo
Start Pre SetInfo
Start Pre Write
Write Encryption
Start Pre Write
Write Encryption
Start PostCreate
Start PreClose
Start PostCreate
Start Pre SetInfo
Start PostCreate
Start PreClose
Start Pre SetInfo
is XLSX File
//到此保存工作结束,弹出共享冲突的提示框

根据分析,这里面有3次涉及到加密操作
想请教下大牛,这里面哪些函数执行是涉及到Excel他的感知呢
有哪些函数是需要特殊关照的呢
guijc1
驱动牛犊
驱动牛犊
  • 注册日期2008-06-16
  • 最后登录2024-11-03
  • 粉丝0
  • 关注0
  • 积分39分
  • 威望231点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分1分
  • 社区居民
地下室#
发布于:2011-03-16 14:49
引用第1楼znsoft于2011-03-12 21:26发表的  :
对excel加密时,在文件关闭时不要对该文件作啥操作,否则它会感智知,就会出这事

如果“加密标示”在文件尾,肯定需要在关闭的时候写入文件

如果说在文件关闭时,不对Excel做任何操作,那岂不是Excel根本没有办法进行处理了,请教该如果解决?
lsfwhut
驱动牛犊
驱动牛犊
  • 注册日期2010-11-10
  • 最后登录2012-02-14
  • 粉丝0
  • 关注1
  • 积分22分
  • 威望221点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2011-04-08 10:38
请教一下楼主,系统盘为NTFS的情况,我对word进行写完保存后老是提示“内存不足无保存”,这是什么原因啊?对txt excel  ppt都没问题,另外在系统盘为FAT32的情况下,一打开office就蓝屏??望高手赐教,QQ:262772639
lsfwhut
驱动牛犊
驱动牛犊
  • 注册日期2010-11-10
  • 最后登录2012-02-14
  • 粉丝0
  • 关注1
  • 积分22分
  • 威望221点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2011-05-04 16:34
clcnsy你好,针对office我的大文件老是出问题,打不开或者粘贴复制打不开等,想问下你是怎样处理的啊?急
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
7楼#
发布于:2011-05-05 09:08
引用第4楼guijc1于2011-03-16 14:49发表的  :
如果“加密标示”在文件尾,肯定需要在关闭的时候写入文件


从来不认为在关闭文件的时候才写文件尾是好方案。
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
8楼#
发布于:2011-05-05 09:12
引用第5楼lsfwhut于2011-04-08 10:38发表的  :
对word进行写完保存后老是提示“内存不足无保存”,这是什么原因啊?对txt excel  ppt都没问题


建议用FileSpy等追踪看看是哪个IRP出错

引用第5楼lsfwhut于2011-04-08 10:38发表的  :
在系统盘为FAT32的情况下,一打开office就蓝屏??


用WinDbg应该很容易确定crash的代码。
gddcxysqw
驱动牛犊
驱动牛犊
  • 注册日期2010-10-20
  • 最后登录2014-09-21
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望191点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2012-12-20 23:04
为什么我对xlsx文件打开的时候总需要修复呢
co63oc
驱动牛犊
驱动牛犊
  • 注册日期2011-09-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分35分
  • 威望291点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2012-12-26 08:43
excel关闭的时候会在文件末尾在写入一次信息,可能是标题,主题,备注这些,
会有PreWrite过滤,PreClose不过滤的现象, 那就在PreClose中保存标示信息,在PreWrite中替换数据再写入一次
fengyuchenglun
驱动牛犊
驱动牛犊
  • 注册日期2013-09-11
  • 最后登录2014-03-10
  • 粉丝0
  • 关注2
  • 积分18分
  • 威望131点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2013-09-15 17:25
能否贴出前辈们的代码  不甚感激
游客

返回顶部