阅读:39493回复:134
【分享】minifilter透明加解密源码
现在很多做透明加解密的初学者都比较困惑,不知从何下手,我也是如此,从什么都不会开始,慢慢肯文件系统内幕,到OSR上面请教,四个月的时间还是收获颇丰。其实真正研究以后会发现,很多都是体力活,要不断的去跟踪文件的操作流程。在这里发一个基于minifilter的透明加解密的驱动源码仅供大家参考,其中也实现了对文件标识的处理,文件标识放在文件尾部。算是抛砖引玉吧。坦白的说,这个代码并不稳定(偶尔与norton杀毒软件会有冲突),但是我觉得整个流程是正确的,可能有些细节还没有考虑清楚,我觉得对初学者还是有一定帮助吧,当然大虾们可以跳过,呵呵。另外,有关加解密算法的代码由于不是我写的,也不好公开,所以我把相关代码用“\\\”给注释掉了(但没有去掉),请大家见谅,不过不会对整个流程产生影响。大家可以重点看一下各个派遣函数的实现。
欢迎大家拍砖,觉得有点意思就顶一下啊,在看代码的过程中如果有什么好的建议,也希望能告诉我。 最后非常感谢XiangXiangRen,zzbwang,neak47等网友在这段时间内对我的帮助。XiangXiangRen的书以及zzbwang的帖子对我完成这项工作有很大的帮助和参考价值,在此谨与大家分享。 编译环境:WDK6001.18002 XP x86 PS: 您可以将附件中的代码进行修改和转发,但转发时请注明出处。 把附件重新放上来了。encryption_on_the_fly.zip |
|
|
沙发#
发布于:2010-01-25 16:40
DriverEntry中 Register engine with FltMgr 注册失败的时候应该调用下ExDeleteNPagedLookasideList( &Pre2PostContextList ); 在我这FltRegisterFilter就失败返回c0000034 ?? 如果不加ExDeleteNPagedLookasideList( &Pre2PostContextList ); 清除LookasideList 就蓝了 |
|
板凳#
发布于:2010-01-25 17:27
多谢兄弟!
|
|
|
地板#
发布于:2010-01-25 20:44
谢谢shenhui兄,看到以前你在OSR的一篇讨论,小弟有些细节想具体问一下,能够邮件联系吗,本人邮箱546439028@qq.com
|
|
地下室#
发布于:2010-01-26 10:15
用于学习还是非常不错的资料,但是这种用强刷缓存的方法,会带来系统一定的不稳定性。
|
|
5楼#
发布于:2010-01-27 17:45
论坛中的好人啊,期待有人搞清楚怎么才能不与Norton等杀毒软件冲突。
|
|
6楼#
发布于:2010-01-27 22:06
怎么测试呀?测试用的程序也发上来吧,非常感谢楼主!!
|
|
7楼#
发布于:2010-01-28 10:12
非常感谢
|
|
8楼#
发布于:2010-01-28 14:06
好贴 就要顶起来
支持! |
|
|
9楼#
发布于:2010-01-29 23:37
呵呵 经常在osr上看到shenhui兄提问题。。很勤奋呢。
|
|
10楼#
发布于:2010-02-04 12:22
回 6楼(taiji78) 的帖子
上层有些不是我做的,所以也不好给大家。 |
|
|
11楼#
发布于:2010-02-09 09:36
谢谢,看看
|
|
13楼#
发布于:2010-02-10 18:01
我的EMAIL:taiji78@126.com
非常希望得到大侠的指点,谢谢! |
|
14楼#
发布于:2010-02-18 23:21
thx a lot!!!
|
|
15楼#
发布于:2010-02-23 08:39
谢谢分享
|
|
16楼#
发布于:2010-03-09 16:37
学习中,谢谢分享!
|
|
17楼#
发布于:2010-03-26 17:27
shenhui, 请与我联系,有项目找你。wxr9@163.com
|
|
18楼#
发布于:2010-03-28 18:32
这个驱动安装完直接就可以加解密了吗?不用FilterAttach这个函数吗?
|
|
19楼#
发布于:2010-03-30 11:08
我怎么编译时总是提示什么不是内部或外部命令,或者就是找不到指定路径啊?
|
|
上一页
下一页