基于文件过滤驱动的透明加密那点事儿

本文探讨了文件透明加密技术的发展,从API HOOK到基于文件过滤驱动的双缓冲技术,强调了Layerfsd双缓冲技术的实现难点与稳定性的重要性。文章指出,虽然新一代minifilter框架简化了驱动实现,但技术成熟度和稳定性是关键。文中还分析了第二代技术的局限,如效率低、文件损坏及与反病毒软件的兼容性问题,并对比了双缓冲技术的优势和细节挑战。
摘要由CSDN通过智能技术生成
         文件透明加密这点事儿,从2001年开始出现基于API HOOK的方式开始到现在,已经十几年了,有细心人按技术实现的方式将其细分为4代,分别是基于API HOOK的第一代技术、基于文件过滤驱动(加清缓存)的第二代技术、使用Layerfsd的双缓冲第三代技术和基于微软新一代minifilter框架的Layerfsd双缓冲第四代技术。第一代和第二代的技术划分基本上没有异议,所谓的第四代很多人并不认同,认为使用minifilter框架算不上是技术突破,其技术实现仍然是基于Layerfsd的双缓冲技术,没有新意。
        我们从2009年开始研究并实现了基于Layerfsd的双缓冲技术,并应用于自己的产品中,这些本来都是老生长谈,只是最近几天根据用户反馈修改了几个BUG,忽然觉得还可以说道说道。Layerfsd的双缓冲技术最早出现在驱网论坛上的时候,讨论可谓是热烈,随着一些开发者逐步从理论到实践,完成了具体的实现之后,就开始了有意无意的技术封锁,一些技术理论和部分公开的源代码都无影无踪,不过从侧面也可以看出来,这个技术其实还是有一定的门槛的。其门槛并不在于技术有多难,关键在于细节和稳定性,根据理论做出一个实现不难,网上很多号称出售Layerfsd的双缓冲技术实现源代码的,叫价8-40万的都有,不过都只能算是一个理论研究系统,稳定性都很难保证,更不用说实用性了。
        为了了解同行的技术成熟度,我们经常找来同行的产品进行测试,今年上半年测试了两个驱动,一个驱动是对Visual Studio不兼容,每次保存文件后都会提示文件被外部修改,需要再确认一次,都是做这个的,我们
现在很多做透明加解密的初学者都比较困惑,不知从何下手,我也是如此,从什么都不会开始,慢慢肯文件系统内幕,到OSR上面请教,四个月的时间还是收获颇丰。其实真正研究以后会发现,很多都是体力活,要不断的去跟踪文件的操作流程。在这里发一个基于minifilter的透明加解密的驱动源码仅供大家参考,其中也实现了对文件标识的处理,文件标识放在文件尾部。算是抛砖引玉吧。坦白的说,这个代码并不稳定(偶尔与norton杀毒软件会有冲突),但是我觉得整个流程是正确的,可能有些细节还没有考虑清楚,我觉得对初学者还是有一定帮助吧,当然大虾们可以跳过,呵呵。另外,有关加解密算法的代码由于不是我写的,也不好公开,所以我把相关代码用“\\\”给注释掉了(但没有去掉),请大家见谅,不过不会对整个流程产生影响。大家可以重点看一下各个派遣函数的实现。 欢迎大家拍砖,觉得有点意思就顶一下啊,在看代码的过程中如果有什么好的建议,也希望能告诉我。 最后非常感谢XiangXiangRen,zzbwang,neak47等网友在这段时间内对我的帮助。XiangXiangRen的书以及zzbwang的帖子对我完成这项工作有很大的帮助和参考价值,在此谨与大家分享。 编译环境:WDK6001.18002 XP x86 PS: 您可以将附件中的代码进行修改和转发,但转发时请注明出处。 http://bbs.driverdevelop.com/htm_data/39/1001/119736.html
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吹泡泡的小猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值