在Windows 7上可靠地监视/跟踪/记录用户文件访问

时间:2011-05-24 10:06:41

标签: windows windows-7 filesystems hook dll-injection

我需要跟踪用户访问(创建,打开,读取)的所有文件,并记录这些操作以便在单独的应用程序中进一步处理。我已经调查并搜索了实现这一目标的可能方法(尽可能简单)并提出了以下解决方案:

  1. Hook kernel32.dll并拦截所有内容 文件特定功能如 CreateFileA,OpenFile等。我想 修改IAT并提供 包装函数。我还是要前进 调用原始函数, 但报告哪些文件在哪里 在我的申请时访问。 这听起来很容易实现,但我 怀疑它会完美无缺地运作 Windows 7在我看来是新的 安全限制阻止 通过修改成功挂钩 导入地址表。也许有人 知道更好:)

  2. 编写文件系统minifilter和 制作回调函数报告 关于文件访问。我没有 在我不这样做之前写了一个微过滤器 知道这是否可行 做法。我相信发展一个 minifilter需要更多的努力。 也许有人可以指出一些 写作教程等资源 简单的文件系统minifilters。

  3. 我知道微软的Detour库,但在这个阶段我想避免使用它,因为钩子一般很简单。有没有可靠的方法在Windows 7中挂钩文件功能而不使用Detours或EasyHook? 关于微过滤器:我认为与处理加密的过滤器相比,我想要实现的目标非常简单。但是我没有编写微过滤器的经验,也无法估计实现目标需要多少努力。我偶然发现的所有例子都处理过文件系统过滤器,而不是微过滤器。

    我很感谢任何提示和建议:)

    问候, 好奇心

2 个答案:

答案 0 :(得分:0)

在.NET中,您可以使用FileSystemWatcher

答案 1 :(得分:0)

您是否检查了我们的CallbackFilter产品,它提供了一个现成的过滤器驱动程序,并允许您在用户模式下编写所有逻辑?