bannerman
驱动牛犊
驱动牛犊
  • 注册日期2010-01-26
  • 最后登录2014-05-29
  • 粉丝2
  • 关注1
  • 积分41分
  • 威望341点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分22分
阅读:11347回复:52

基于minifilter的文件头标识文件夹加密源代码

楼主#
更多 发布于:2010-07-31 18:54
提供的代码基于wdk提供的几个例子的组合,比较混乱,主要代码在ctxdisp.c和encrypt.c中实现,对主要例程没有实现同步处理;采用分组加密,加密采用16字节分组和固定的16字节字符异或;没有提供外部配置工具,内置了\\Device\\HarddiskVolume2\\MiniFolder\\和\\Device\\HarddiskVolume3\\MiniFolder\\作为加密文件文件夹。
只测试xp系统下桌面/winrar/office系列/记事本/写字板等软件操作,虽然测试过的软件大都能正常处理,但大量未决问题依然存在,有兴趣的朋友可以看代码内注释。
 
看到一些朋友询问存在的问题,大致说明下:
加头后需要在过滤驱动中改变文件偏移和隐藏文件头(不隐藏文件头,映射文件将直接获取文件头标识),导致cache和真实文件不一致以及有效长度的不一致,两者相差文件头标识长度,而文件系统在写入时会检查文件有效长度。所以在过滤驱动中必须跟踪文件有效长度,并保证有效长度和真实文件的一致性,而文件有效长度是cache和文件系统私有的,没有办法完全正确跟踪并进行处理。所以个人认为单纯文件头标识过滤驱动是无法保证正确的(可以辅助hook来实现,但64位的到来, 毕竟越来越不靠谱),建议基于过滤驱动的文件加密使用文件尾标识,最好还是采用layerfsd方式,头尾随便加。
附件名称/大小 下载次数 最后更新
minief.rar (43KB)  256 2012-01-30 16:33

最新喜欢:

flacflac pkzikaopkzika...
bannerman
驱动牛犊
驱动牛犊
  • 注册日期2010-01-26
  • 最后登录2014-05-29
  • 粉丝2
  • 关注1
  • 积分41分
  • 威望341点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分22分
沙发#
发布于:2012-01-30 16:40
很久没登录,更新附件,希望对新人有帮助
游客

返回顶部