为了限制对某些特定文件的访问,我在NtCreateFile上创建了一个钩子。 我读了很多文档,我知道它没有文档,有点棘手等等=) 但在我的情况下,我只想禁止访问几个文件。
我已成功将其挂钩,并阻止访问。但我收到以下形式的所有文件路径: \ ?? \ C:\ blabla或\ ?? \ UNC
首先我删除了\ ?? \前缀然后如果我遇到一个未知的驱动器号(我有一个数据库,其中存储了所有驱动器,它们的类型和它们的字母)我推断它是一个网络访问但我认为这是默认情况下推断网络路径的糟糕解决方案。
所以我的问题分为两部分:
- 这是一个我错过了实现这个功能的功能
- 有一种从ntFilePath中推断出网络路径的真正逻辑方法。
提前致谢。
我用win32 C ++ Dll完成了它。