日期:2014-05-18  浏览次数:21137 次

C# 如何 监视 打开文件,并拦截操作
我是一名大四学生,目前正在做毕业设计,是企业文档加密
我已经快做好了,就是普通的加解密程序。  
但是老师上周才发题目要求过来。。。我看了下傻眼了。。。
如下:
通过信息安全管理软件,系统在不改变用户原有工作流程和文件使用习惯的前提下,对需要保护的文件进行强制加密保护,文件从建立开始,就以加密文件的形式保存在电脑里,有效防止了被动和主动泄密,消除内部安全隐患于无形之中。

貌似说的是透明加密那一部分的

WIN底层驱动完全不懂啊。。。。
我现在是只要能实现 监测打开文件,并拦截打开操作这一点就行了(剩下的用FileWatch可以做)
不知道调用HOOT API能做到不??(其实这个我也不会。。。但是我知道至少C#能调用这个。。。)
有大神能提供相关资料么? 先谢过了

------解决方案--------------------
HOOK是不靠谱的。很容易就被其它的钩子白你的给断掉,而且那类程序还会被千百个系统维护程序给杀掉。

真正的加密实在驱动级的,就像你说的“透明加密”一样,是驱动级才可能“透明”,它对所有应用程序都是底层驱动形态而不是钩子形态的程序。

不过我认为你6、7年内可能还不能做出来一个,所以不用太在意老师。你们的老师纯粹是剽窃学生
------解决方案--------------------
简单的用 shell hook,不过只能拦截外壳触发的打开。(记忆中价值4000多万的某坝就是用的这个)

复杂一点的可以用 ifs(文件过滤驱动),sdk有例子。
------解决方案--------------------
这个codeproject连接好像有点用,提供了一个简单的例程:

参考