【问题标题】:Would implementing a Windows File System Minifilter Driver be appropriate in this case?在这种情况下实施 Windows 文件系统 Minifilter 驱动程序是否合适?
【发布时间】:2017-09-19 18:08:46
【问题描述】:

我正在为以下情况寻找更好的解决方案:

我们使用第三方 Windows 应用程序,该应用程序在启动时会从磁盘上的特殊位置读取一组初始化文件。根据用例需要不同的设置,到目前为止,我们已经通过在启动应用程序之前使用脚本将正确的文件复制到设置文件夹中来实现这一点。我们在批处理构建系统中运行该应用程序,但其预期用途是使用其 GUI 以交互方式使用。设置文件是从源代码存储库中获取的。

复制文件似乎不是一种干净的方法,我非常想提出一个解决方案,允许我将应用程序直接重定向到正确的设置目录。在阅读了该主题后,我相信微过滤器与用户空间应用程序一起控制要使用的设置最有可能解决问题。

只是为了让自己清楚,给定以下目录:

(a) C:\Repos\Project1\Settings

(b) C:\Repos\Project2\Settings

(c) C:\Repos\Common\Settings

(d) C:\Program Files\Application\Settings

我想对一个已知应用程序隐藏 (d) 的内容(如果有),并将其替换为 ((a) 和 (c)) 或 ((b) 和 (c)) 内容的组合.我建议这样做的方法是通过重定向文件系统微过滤驱动程序和用户空间应用程序传达有关要处理的目录的信息。

* 就我而言,实施文件系统微过滤器驱动程序是一个可行的解决方案吗?

【问题讨论】:

    标签: windows minifilter


    【解决方案1】:

    正式地,文件系统(微型)过滤器驱动程序是唯一可行的方法。但请注意,编写任何类型的 Windows 驱动程序都有一个陡峭的学习曲线。查看 Microsoft SimRep FS 过滤器驱动程序示例,它与您的用例非常匹配。如果您以前没有 Windows 驱动程序开发经验,我不建议您采用此方法。

    更可行的解决方案是进入应用程序地址空间并拦截 CreateFile 调用。然后,您可以在用户空间代码中更改文件名。 Google for 'IAT hooking injection' 来研究这种方法。图书馆的存在使这成为一项相当微不足道的任务。例如,看看EasyHook

    【讨论】:

      猜你喜欢
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      相关资源
      最近更新 更多