gpt4 book ai didi

c# - C++ 创建 NdisProt 驱动程序的句柄

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:08 26 4
gpt4 key购买 nike

我尝试写入 NdisProt 驱动程序并发送原始以太网数据包。我将一些 C++ 命令导入到我的 C# 程序中,以便我可以访问驱动程序。当我尝试打开驱动程序的句柄时,我总是得到一个无效的句柄。我已经用“NdisProt”作为路径尝试过,但没有解决。您对我得到无效句柄有什么建议吗?

private bool OpenDriver()
{
// User the CreateFile API to open a handle to the file
this.m_iHandle = CreateFile("\\\\.\\NdisProt,
GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

// Check to see if we got a valid handle
if ((int)m_iHandle <= 0)
{
// If not, then return false and reset the handle to 0
this.m_iHandle = IntPtr.Zero;
return false;
}

如果您现在有任何其他解决方案可以在 C# 程序中发送原始以太网数据包,请告诉我。

感谢您的帮助!

最佳答案

更新:我刚刚通过添加另一个 list 解决了这个问题,因此应用程序以管理员身份运行。

NDIS 驱动程序的解决方案仍然无效,因此我搜索了另一种解决方案。我找到了 SharpPcap 库。使用该库,我可以修改要发送的数据包,例如更改目标 MAC 地址。

感谢您的回答!

关于c# - C++ 创建 NdisProt 驱动程序的句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52037371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com