截取文件\文件夹I \ O没有API挂钩或过滤器驱动程序

我需要编写一个程序来显示密码窗口,当用户试图访问一个文件或文件夹在c + + win XP和win 7(32位和64位)。 但困难的部分是我无法使用IAT EAT或内联挂钩来完成此任务,因为它需要使用Microsoft支持的此方法。

虽然googling为此,它也在许多论坛中提到,这可以使用文件系统过滤器驱动程序来完成,但我想知道如何从微型驱动程序显示密码对话框。

我认为外壳扩展可以完成这项工作,但是msdn文档显示外壳扩展不能用于拦截I / O调用。

请提前咨询,谢谢。


你确实需要内核驱动程序来实现这一点。 只有在通过shell访问文件(例如,在Windows资源管理器中单击)时才会激活Shell挂接和扩展,并且如果文件被其他程序直接访问,则不会触发。

在进行访问防病毒时,我遇到了类似的挑战。

但就像@selbie所说,驱动程序代码本身不能处理任何交互式提示 - 它必须与用户模式代码进行通信才能实现这一点。 这可以是独立的应用程序,或者将DLL自动加载到每个进程中。 在我的情况下,如果用户响应是必要的,我们让驱动程序和用户模式应用程序通过管道进行通信 - 驱动程序会将消息传递给用户模式应用程序(如果它是活动的),然后等待响应。 该应用程序向司机发出了提示和管道响应。

文件I / O挂钩的主题也在前面的主题中讨论过。

链接地址: http://www.djcxy.com/p/68153.html

上一篇: Intercept file\folder I\O without API hooking or filter driver

下一篇: ScreenShot of an UILabel and what is in a UIImageView