sijun
驱动牛犊
驱动牛犊
  • 注册日期2001-07-31
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2327回复:4

关于加密FILTER驱动的2个问题

楼主#
更多 发布于:2003-01-07 18:48
好象做加密FILTER的兄弟不少,从大家提的一些问题来看大多是新手,为了大家少走弯路就我的经验对2个基本问题作些解释(我只讲本地文件,网络不适用):
1.加解密位置:在内存和硬盘进行页面交换时.即带有IRP_PAGING_IO |IRP_SYNCHRONOUS_PAGING_IO标志在读和写时加解密,其它地方都不用管.内存中的数据必须是明文,不然肯定有问题
2.文件的判断:很多人都通过求文件名来判断是否是加密文件,但很多时候没有文件名.于是用FIlEMON的方法通过FILE_OBJECT比较求得.这种方法是不行的,会漏掉一些IRP.可行的方法是通过FCB的比较来判断,但这会有FCB重用的问题,不是太容易解决.

最新喜欢:

ljmmaryljmmar...
创造无限
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-08 11:31
但种情况下在IRP_MJ_READ取不到文件名???


我好像都可以呀!!!!
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-18 00:48
好象做加密FILTER的兄弟不少,从大家提的一些问题来看大多是新手,为了大家少走弯路就我的经验对2个基本问题作些解释(我只讲本地文件,网络不适用):
1.加解密位置:在内存和硬盘进行页面交换时.即带有IRP_PAGING_IO |IRP_SYNCHRONOUS_PAGING_IO标志在读和写时加解密,其它地方都不用管.内存中的数据必须是明文,不然肯定有问题

 

首先,谢谢sijun的宝贵经验,但我有个问题:假如来了个带Write_Through(写穿透)标志的IRP_MJ_WRITE,这个还需要加密吗?
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-18 10:51
谢谢!

现在才明白你的话,看来我真是太笨了。回去好好看书。
sijun
驱动牛犊
驱动牛犊
  • 注册日期2001-07-31
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-20 07:30
补充说明:
文件打开可以使用缓冲或不使用缓冲,上面说的是使用缓冲的情况,不不使用缓冲时(FileObject->Flags&FO_NO_INTERMEDIATE_BUFFERING)的读/写当然也应该解/加密
创造无限
游客

返回顶部