有没有一种方法可以在不需要管理员权限的情况下与微过滤器进行通信?
Is there a way to communicate with a minifilter without requiring admin rights?
我使用的自定义微过滤器驱动程序在本质上类似于 Microsoft 的 MiniSpy 示例,并且我用 C# 编写了一个用户模式应用程序来与其通信。
我需要管理员权限才能安装过滤器 - 这似乎很合理。但是没有管理员权限,我的应用程序 returns HResult:0x80070005 (Access is denied)
在关键调用上 FilterAttach
和 FilterConnectCommunicationPort
。使用管理员权限一切正常。
我的问题是:有没有办法绕过用户模式应用程序的管理要求?
这个post: https://www.osronline.com/showthread.cfm?link=157827 好像是打开通信端口没问题,但是没有连接到驱动器:
it can't, however, attach to a volume. As someone from Microsoft explained, this is an operation that is only allowed to administrators.
有没有办法启动第二个具有管理员权限的服务,我的非管理员用户模式应用程序可以连接到该服务?如果是这样,我什至需要第二次服务还是我可以使用过滤器本身?或者有没有什么办法可以让我的应用程序摆脱这些管理员权限要求?
最后,与过滤器通信并托管 WCF 服务器的 Windows 服务成功了,由我的应用程序访问。
我使用的自定义微过滤器驱动程序在本质上类似于 Microsoft 的 MiniSpy 示例,并且我用 C# 编写了一个用户模式应用程序来与其通信。
我需要管理员权限才能安装过滤器 - 这似乎很合理。但是没有管理员权限,我的应用程序 returns HResult:0x80070005 (Access is denied)
在关键调用上 FilterAttach
和 FilterConnectCommunicationPort
。使用管理员权限一切正常。
我的问题是:有没有办法绕过用户模式应用程序的管理要求?
这个post: https://www.osronline.com/showthread.cfm?link=157827 好像是打开通信端口没问题,但是没有连接到驱动器:
it can't, however, attach to a volume. As someone from Microsoft explained, this is an operation that is only allowed to administrators.
有没有办法启动第二个具有管理员权限的服务,我的非管理员用户模式应用程序可以连接到该服务?如果是这样,我什至需要第二次服务还是我可以使用过滤器本身?或者有没有什么办法可以让我的应用程序摆脱这些管理员权限要求?
最后,与过滤器通信并托管 WCF 服务器的 Windows 服务成功了,由我的应用程序访问。