我有一个我需要拦截的Program.exe。该特定程序使用CreateFile& ReadFile,但我需要拦截ReadFile函数。
我考虑过编写自己的文件系统过滤器MiniDriver。 我通过谷歌搜索找到了这个链接:http://msdn.microsoft.com/en-us/library/ff551862(v=vs.85) 这似乎是正确的方法。但是上次我做了任何驱动程序开发,我记得> = VISTA不允许轻松安装驱动程序。您需要从Microsoft获得“签名”特权(您必须付费)。
我的问题是,我可以为我的USB记忆棒创建简单文件系统过滤器驱动程序并拦截来自ReadFile()的任何读数吗?我想要做的就是通过特定的过程允许ReadFile。
1)我合法地需要这个 2)我需要避免使用未签名的驱动程序,因此驱动程序将始终有效。
从XP开始,每个操作系统都有一个minifilter驱动程序吗?
答案 0 :(得分:0)
仅在x64版本的windows> = vista上存在禁止加载未签名的驱动程序 在x64版本上,您可以 1)切换到测试模式以消除此限制 2)将测试证书作为root添加到证书存储
但是如果你想分发这个驱动程序,你必须提供证书。
答案 1 :(得分:0)
是的,minifilter是首选方式。您可以拦截系统调用/ IRP,并根据您的标准允许拒绝其中任何一个。 此外,相同的驱动程序代码可用于多个操作系统,但您需要为特定的Os构建。 WDK 7可用于构建从XP到Windows 7的驱动程序。
此外,正如izlesa建议的那样,您需要签署高于vista的x64窗口。