010513
驱动牛犊
驱动牛犊
  • 注册日期2010-11-26
  • 最后登录2011-05-13
  • 粉丝1
  • 关注2
  • 积分36分
  • 威望231点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2628回复:11

对DOC文件进行透明加密

楼主#
更多 发布于:2011-02-19 20:09
如是对A.doc进行保存,
1.当word的temp文件 rename到 A.doc时候,截取这一时刻,记录下来,然后创建一A.doc.tmp文件, 并
把加密好的数据写进A.doc.tmp中

2.在A.doc的POST_CLOSE操作中创建一系统线程

3.在生成的线程中我打开A.doc文件,获取A.doc文件的句柄,然后利用句柄通过ZwSetInformationFile删除A.doc文件,然后将A.doc.tmp 重命名为A.doc.


问题:
在删除文件的时候,我确实是把文件删除了,但WORD中弹出问我的权限不够的错误,在查看之前的相关帖子说是因为以下这样:
Since the IRP_MJ_CLOSE dispatch routine can run at APC_LEVEL, and all
completion routines can run at DISPATCH_LEVEL, there\'s lots of things
that are unsafe to do DELETE operation in the completion routines or IRP_MJ_CLOSE dispatch routine.
Solution is create a worker thread!
但我已经创建了线程去完成了,但还是不行啊?
哪位高手帮帮忙啊!! 我搞这个问题已经搞很久了,差不多2个星期了.....郁闷啊
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
沙发#
发布于:2011-02-20 04:24
Why not try MT_SET_INFORMATION/Rename instead of DELETE?
010513
驱动牛犊
驱动牛犊
  • 注册日期2010-11-26
  • 最后登录2011-05-13
  • 粉丝1
  • 关注2
  • 积分36分
  • 威望231点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2011-02-20 16:07
回 1楼(michaelgz) 的帖子
I  tried this method before,It had the same problem with the DELETE operation
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2011-02-22 09:55
我的感觉是office 系列有文件变化感知功能,不能轻易修改.特别是在close/cleanup中不能作任何改变文件的操作(或者非常小心),否则就会出现你说的问题.
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
wanghui219
禁止发言
禁止发言
  • 注册日期2007-08-28
  • 最后登录2019-07-29
  • 粉丝4
  • 关注3
  • 积分101166分
  • 威望505351点
  • 贡献值0点
  • 好评度137点
  • 原创分0分
  • 专家分4分
  • 社区居民
地下室#
发布于:2011-02-22 13:29
回 2楼(010513) 的帖子
用户被禁言,该主题自动屏蔽!
010513
驱动牛犊
驱动牛犊
  • 注册日期2010-11-26
  • 最后登录2011-05-13
  • 粉丝1
  • 关注2
  • 积分36分
  • 威望231点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2011-02-22 19:05
回 4楼(wanghui219) 的帖子
wanghui219 你能详细说说吗?我还是不太明白你的意思!望明教,谢谢..........
010513
驱动牛犊
驱动牛犊
  • 注册日期2010-11-26
  • 最后登录2011-05-13
  • 粉丝1
  • 关注2
  • 积分36分
  • 威望231点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2011-02-23 10:03
回 4楼(wanghui219) 的帖子
我现在在IRP_SET_INFORMATION/RENAME的预处理中将要重命名为DOC文件的TMP文件加密了,想让WINWORD自行将加密了的TMP文件重命名为WORD文件,但依然是弹出了权限的错误啊?wanghui219 ,本人向你诚心求教,这个可恶的权限问题已经搞了我很久很久了,真的很窝火
wanghui219
禁止发言
禁止发言
  • 注册日期2007-08-28
  • 最后登录2019-07-29
  • 粉丝4
  • 关注3
  • 积分101166分
  • 威望505351点
  • 贡献值0点
  • 好评度137点
  • 原创分0分
  • 专家分4分
  • 社区居民
7楼#
发布于:2011-02-23 14:39
用户被禁言,该主题自动屏蔽!
010513
驱动牛犊
驱动牛犊
  • 注册日期2010-11-26
  • 最后登录2011-05-13
  • 粉丝1
  • 关注2
  • 积分36分
  • 威望231点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2011-02-23 19:17
回 7楼(wanghui219) 的帖子
我不是对指定文件夹下的文件进行加密的,我是采取DOC文件的动态加密!不知wanghui219 有没有做过,我很多方案都试过了,都是会产生权限问题!现在感到很无奈...........
010513
驱动牛犊
驱动牛犊
  • 注册日期2010-11-26
  • 最后登录2011-05-13
  • 粉丝1
  • 关注2
  • 积分36分
  • 威望231点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2011-02-23 19:21
回 3楼(znsoft) 的帖子
对啊!我也觉得它真的有这样的功能,无论我是改变DOC文件或是它的TMP文件,他都会产生权限问题的,不知znsoft 有没有什么好方法去试验DOC文件的透明加密
eleqi
驱动小牛
驱动小牛
  • 注册日期2005-12-20
  • 最后登录2014-01-03
  • 粉丝4
  • 关注2
  • 积分172分
  • 威望1475点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2011-03-13 23:55
个人观点,仅供参考,考虑的适用范围不同处理机制可能不同。
在重命名时做加密不是很合适,这样相当于是每次保存都是从头到尾整个文件加密一次,浪费大量的时间,遇到大文件头就大了。另外不适用于保存/另存时不创建临时文件的软件/情况,如:有些情况下OFFICE软件保存时直接写回原文件,没有临时文件和重命名操作
fatepro
驱动牛犊
驱动牛犊
  • 注册日期2011-05-12
  • 最后登录2011-09-07
  • 粉丝0
  • 关注0
  • 积分68分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2011-05-14 22:28
学习了,ok!
游客

返回顶部