dionysus77
驱动小牛
驱动小牛
  • 注册日期2006-11-15
  • 最后登录2011-12-18
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望392点
  • 贡献值0点
  • 好评度177点
  • 原创分0分
  • 专家分0分
阅读:3509回复:11

透明加密:关于explorer与system的处理

楼主#
更多 发布于:2011-07-14 20:35
先说explorer:
如果当做授权进程,它新建的文件都将是加密的(为了防止授权进程另存文件绕过加密)。那么当用户从U盘拷贝视频到电脑上时也加密了,而视频播放软件一般不是授权进程,这样就造成视频文件打不开了。
如果当做普通进程,那么当授权进程打开加密文件时(缓存中为明文),explorer拷贝此文件,就生成了未加密的文件副本。
 
再说system:
如果当做授权进程,普通进程刷新磁盘数据也会用到system发起的换页写irp,这样所有的文件都加密了。
如果当做普通进程,授权进程刷新磁盘数据也会用到system发起的换页写irp,这样所有的文件都不加密了。
 
我是把它们作为第三类进程处理,但总会有这样那样的问题,找不到平衡点。
不知道各位是如何处理这两个进程的?
 
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2011-07-14 21:56
如果是sfilter架构,涉及清缓存,但是这个是坏文件和效率低的原因。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
ren970122
驱动牛犊
驱动牛犊
  • 注册日期2005-09-09
  • 最后登录2013-08-26
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望233点
  • 贡献值0点
  • 好评度40点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2011-07-18 09:32
关注下,不知道有没有两全其美的办法
兴趣所至,技术所在
dionysus77
驱动小牛
驱动小牛
  • 注册日期2006-11-15
  • 最后登录2011-12-18
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望392点
  • 贡献值0点
  • 好评度177点
  • 原创分0分
  • 专家分0分
地板#
发布于:2011-07-21 09:05
谢谢二位的回答与关注。
在《寒江独钓》中,作者说system显然不是授权进程。
在shenhui的代码中,system与explorer都是授权进程。
所以这个问题还真是有待商榷的。
wanghui219
禁止发言
禁止发言
  • 注册日期2007-08-28
  • 最后登录2019-07-29
  • 粉丝4
  • 关注3
  • 积分101166分
  • 威望505351点
  • 贡献值0点
  • 好评度137点
  • 原创分0分
  • 专家分4分
  • 社区居民
地下室#
发布于:2011-08-07 03:20
用户被禁言,该主题自动屏蔽!
dionysus77
驱动小牛
驱动小牛
  • 注册日期2006-11-15
  • 最后登录2011-12-18
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望392点
  • 贡献值0点
  • 好评度177点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2011-08-07 10:21
引用第4楼wanghui219于2011-08-07 03:20发表的  :
一点小建议,explorer进程不要设授权进程。

explorer:
如果当做授权进程,它新建的文件都将是加密的(为了防止授权进程另存文件绕过加密)。

.......

 

我也是这么做的。但有些特殊情况下可能存在问题。
比如:
授权进程先打开加密文件->缓存明文;
然后,explorer清缓存->缓存密文;
然后,授权进程读写文件(没有再次打开)->缓存密文。
 
要解决这个问题就要在读写和询问设置的历程中都做进程判断。还不知道是否可行
 
另外,能不能说说system.exe的处理方式。换页读写都是它发起的。
bannerman
驱动牛犊
驱动牛犊
  • 注册日期2010-01-26
  • 最后登录2014-05-29
  • 粉丝2
  • 关注1
  • 积分41分
  • 威望341点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分22分
6楼#
发布于:2011-08-09 16:22
你的思路有问题,单缓冲透明加解密最主要就是清缓冲。
跟踪文件FileObject和FsContext,有进程打开文件时,如果是授权进程打开,而之前打开的是非授权进程,则清缓冲;如果是非授权进程打开,而之前打开的是授权进程,则清缓冲。判断之前是否是授权进程信息记录在你跟踪FsContext创建的结构中。
总之单缓冲在系统缓冲中只存在一个缓冲,要么是明文要么是密文,根本不需要考虑system,对于pagingio只需要根据你跟踪FsContext创建的结构中的标识来判断是否需要加解密即可,即明文缓冲需要加解密,其他直接pass。
而explore的问题肯定是你清缓冲不完整引起的。
lsfwhut
驱动牛犊
驱动牛犊
  • 注册日期2010-11-10
  • 最后登录2012-02-14
  • 粉丝0
  • 关注1
  • 积分22分
  • 威望221点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2011-08-11 10:57
6楼的bannerman   我正为此问题发愁 ,希望得到你的指点,谢谢 我的QQ:262772639
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2011-08-11 12:51
清缓存,文件会坏,文件一坏就完了,你开发的东西就成了文件破坏器
提问归提问,还是只能靠自己
hiram-china
驱动牛犊
驱动牛犊
  • 注册日期2012-04-24
  • 最后登录2015-06-08
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望211点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2013-01-12 22:06
大家多多发表看法,表示关注!
lys413007659
驱动牛犊
驱动牛犊
  • 注册日期2013-05-17
  • 最后登录2013-06-10
  • 粉丝1
  • 关注1
  • 积分17分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2013-05-21 10:09
太棒了啊   刚学习sfilter的框架  看了你们的学习不少啊
quenchun
驱动牛犊
驱动牛犊
  • 注册日期2009-09-23
  • 最后登录2019-04-29
  • 粉丝1
  • 关注2
  • 积分13分
  • 威望121点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2013-08-14 14:54
explorer进程不是那么好处理的,在某些极端条件,它会代替授权进程做一些事情,此时,它就必须按授权进程来处理了,而有的时候又不能这么处理
游客

返回顶部