【发布时间】:2011-05-24 10:06:41
【问题描述】:
我需要跟踪用户访问(创建、打开、读取)的所有文件并记录这些操作,以便在单独的应用程序中进行进一步处理。我已经调查并寻找了实现这一目标的可能方法(尽可能简单),并提出了以下解决方案:
挂钩 kernel32.dll 并拦截所有 文件特定的功能,如 CreateFileA、OpenFile 等。我想 修改 IAT 并提供 包装函数。我还是会前进 对原始函数的调用, 但报告哪些文件在哪里 何时访问我的应用程序。 这听起来很容易实现,但我 怀疑它会完美地工作 Windows 7 在我看来是新的 安全限制阻止 通过修改成功挂钩 导入地址表。也许有人 知道得更好:)
编写文件系统微过滤器并 使回调函数报告 关于文件访问。因为我没有 在我没有之前写了一个微过滤器 知道这是否可行 方法。我相信发展 微过滤器需要更多的努力。 也许有人可以指出一些 写作教程等资源 简单的文件系统微过滤器。
我知道 Microsoft 的 Detour 库,但在这个阶段我想避免使用它,因为挂钩通常非常简单。是否有任何可靠的方法可以在不使用 Detours 或 EasyHook 的情况下在 Windows 7 中挂钩文件功能? 关于微过滤器:我相信与处理加密的过滤器相比,我想要实现的目标非常简单。但是,我没有编写微过滤器的经验,也无法估计实现我的目标需要付出多少努力。我偶然发现的所有示例都涉及文件系统过滤器而不是微过滤器。
感谢任何提示和建议 :)
您好, 好奇心
【问题讨论】:
-
我的钱花在了文件系统 (mini)filter 驱动程序上(您可以查看 WinDDK 中的 /src/filesystem/miniFilter/scanner 示例。)跨度>
-
使用微过滤器,我可以追溯最初是哪个程序发出访问权限的吗?
标签: windows windows-7 filesystems hook dll-injection