是什么阻碍了Windows中的驱动程序安装?
我已经在Windows中写了一个C程序,该程序使用了一些预编译的文件,从 windivert .我的程序使用Windivert的.dll,并且.dll中的某些功能安装了windivert.sys驱动程序. Windivert还有其他一些文件是其中的一部分(a .lib,a .inf和另一个.dll). 问题在于,在我的一台计算机上(Windows 8.1 64位),一切正常.但是,当我尝试在笔记本电脑上使用该程序(Windows 8.1 64)时,我的朋友的笔记本电脑(Windows 7 64)或其他Windows 7 64台式机,这会阻止驱动程序的安装.我不确定是什么阻止它或如何阻止它被阻止,因为在所有计算机上: +我在管理配置文件上运行 +在管理命令提示中运行程序 +尝试禁用防火墙,抗病毒等(尽管它可以在有效的计算机上运行,​​但可以很好地运行) 据我所知,我所有的安全设置都是相同的 +注意:驱动程序确实具有有效的签名. 为什么驱动程序在一台计算
6 2023-12-07
编程技术问答社区
WinDivert重定向到代理
我正在尝试将所有TCP数据包重定向到我的本地代理,以修改HTML内容(Adblocker喜欢).我想使用Windivert,但似乎不起作用. 我这样启动驱动程序: handle = WinDivertOpen("outbound", WINDIVERT_LAYER_NETWORK, 0, 0); 然后在捕获和修改数据包时: if (ip_header != NULL && tcp_header != NULL) { //redirect to proxy if (ntohs(tcp_header->DstPort) == 80) { UINT32 dst_addr = ip_header->DstAddr; ip_header->DstAddr = ip_header->SrcAddr; ip_header->SrcAddr = dst_addr; tcp_header->DstP
6 2023-12-06
编程技术问答社区
如果防火墙开启,Java 7会阻止Windows Vista和7上的FTP传输。有什么想法吗?
Java 7可防止Windows Vista上的FTP传输和7. 在FTP中,必须发送文件传输文件或必须发送PASV命令.一旦发送了一个命令,Windows防火墙将关闭发送的插座.仅当防火墙打开并且没有Java.exe的例外情况时,才会发生这种情况.我怀疑这个问题与Java 7有关使用新的Vista IP堆栈. 有人有任何想法如何解决或解决此问题吗?我们正在分发Java FTP库,因此我们显然无法自己添加异常. 例外: java.net.SocketException: Permission denied: recv failed JRE版本信息: java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) 随访1(2011年11月14日):
8 2023-12-05
编程技术问答社区
使用wfp在ale_connect_redirect_v4 layer上重定向到app dns请求
我正在尝试使用WFP(Windows Filtering Platform)以每次应用重定向DNS请求.我想重定向到公共DNS服务器 - 不是本地代理.我在ALE_CONNECT_REDIRECT_V4层上有一个呼叫驱动程序.当我跟踪此层的DNS请求时,我可以看到它们很好. 但是,当我将DNS服务器IP(使用INETADDR_SET_ADDRESS)重写时Wireshark以及他们的响应也成功了 - 但是我要重写的DNS的应用程序未收到这些DNS响应 - 它无法解决HostName. 我已禁用DNS缓存,因此DNS请求直接来自应用程序,而不是svchost.exe Process. 为什么?我是否还必须以某种方式将传入数据包连接并将DNS服务器还原到应用程序期望的一款?我很茫然. 解决方案 为我自己尝试此操作后,对于UDP上的DNS流量,您必须拦截入口数据报,并使用Clone-Drop-Reinject方法修改源地址. TCP上的DNS流量不受影响,因为它是基于
8 2023-12-04
编程技术问答社区
是否可以通过使用WFP来发送带有有效载荷的tcp同步数据包?
我是Windows过滤平台的新手. 是否可以使用wfp? 发送带有有效载荷的TCP SYN数据包 我要发送的有效载荷将有一些秘密密码. 我的Linux服务器将检查SYN Packet的有效载荷,无论是否有效. 解决方案 wfp或没有wfp,您"可以"在SYN数据包中发送数据,但另一端应该意识到这一点.标准不允许或建议这样做. TCP Fast Open被引入了,以为人们会很快就会适应它不受欢迎. 即使您获得的不是一个好练习,也以SYN发送数据,因为 a)不可扩展 b)有一些方式可能会拦截此TCP流量并丢弃您的数据,仅在它们建立服务器端连接时将SYN发送给您. c)大多数TCP都认为SYN没有数据,因为连接机构尚未发生. 这就是人们确实封装将数据保存在所有中间箱中的原因,您可以在该主管上设计一些东西. 其他解决方案 尽管可以在SYN数据包中发送数据,但绝不建议发送敏感数据.任何拦截SYN数据包的"不良用户"都可以通过您的秘密密码启动连接.
8 2023-10-15
编程技术问答社区
Windows过滤平台从托管代码中过滤HTTPS
我想为Windows开发基于主机的防火墙,主要是从HTTPS开始过滤URL!我知道微软正在将WFP作为替代旧技术的替代,例如防火墙/过滤器钩,NDIS,TDI,WSA和Winsock 2(LSP).但是WFP当前不支持主机名或URL的过滤器.另外,WFP仅在C/C ++中,并且.NET中没有可用的C#包装器. 我尝试了@basil's windivert demo app webfilter,该emboind app web filter在TCP上解析了IPV4中的IPV4中的Packets端口80(默认HTTP),RESET服务器连接(TCP RST),并向客户端(浏览器)发送HTML响应,然后是TCP FIN,以防URL匹配文本文件中给出的任何黑名单条目,作为命令行参数和否则将它们注入... handle = WinDivertOpen( "outbound && " // Outbound traffic only
8 2023-10-15
编程技术问答社区
WPF/C#提交按钮到POST API
IM试图在用户按下表单上的按钮时使用C#发布以下API.但是不知道从哪里开始.谁能帮忙? 按钮代码 private void Okta_Click(object sender, RoutedEventArgs e) { } post :https://test.okta.com/api/v1/authn 身体 { "username": "user", "password": "password", "options": { "multiOptionalFactorEnroll": true, "warnBeforePasswordExpired": true } } 当用户按按钮时,它应将用户添加到应用程序中. 解决方案 您可以使用httpclient类来提出请求. private async void Okta_Click(object sender, RoutedEven
14 2023-05-22
编程技术问答社区
FWPS的叫法、用法和参考文献
我想知道对Filter Drivers工作原理的深刻理解.细节和用法是什么? 例如:FwpsCalloutRegister FwpmTransactionBegin FwpmSubLayerAdd FwpmCalloutAdd这些是在许多网络驱动程序样本中使用的函数.是否有任何参考来查看订单或filter drivers的资金是什么? 是什么. FwpmSubLayer的用法是什么? 解决方案 阅读文档: 用户模式: https:https:https:https:https:https:https:https:https:https:https://docs.microsoft.com/en-us/windows/win32/fwp/windows-filtering-platform-start-page 内核模式:
18 2023-04-18
编程技术问答社区
Windows过滤平台-如何根据本地端口阻断进入的连接?
我正在尝试使用WFP设置一些过滤器来阻止入站连接到本地服务器(例如,在端口8080上侦听网络服务器). 我有一个可以基于远程端口阻止的过滤器工作,因此我可以在计算机上停止进程与端口8080建立任何连接,但是我无法弄清楚如何阻止来自另一个基于机器基于机器的传入连接在本地端口8080? 上 这是我的代码,可根据远程端口阻止: (使用P/Invoke是C#,但与C ++写的几乎相同) var RemotePort = 8080 # port to block // connect to engine var session = new Fwpm.FWPM_SESSION0 { flags = Fwpm.FWPM_SESSION_FLAG_DYNAMIC }; UInt32 engineHandle; UnsafeNativeMethods.FwpmEngineOpen0(null, Fwpm.RPC_C_AUTHN_WINNT, IntPtr.Zero, session, o
16 2023-02-13
编程技术问答社区
在内核驱动中使用Windows过滤平台
我们最近在驱动程序中添加了Windows过滤平台功能. 我们设法获得了毫无问题的WFP所需的信息,但是问题是在启动过程中 - Eversince我们添加了wfp功能,使用驱动程序的机器无法引导 - 它们会陷入僵局(计算机的"卡住" "在飞溅屏幕中). 我们认为它可能是因为我们的驱动程序仅依赖于FLTMGR,并且可能在加载WFP框架之前加载(TCPSTACK?). 我的问题是 - 是否有办法询问服务经理或任何其他机构是否已加载WFP框架?甚至更进一步 - 是什么驱动程序wfp取决于? (因此,我可以在开始使用之前检查它们是否已加载) 解决方案 这是我在Driverentry中所做的. // // Wait for the WFP engine to be ready. // FWPM_SERVICE_STATE bfeState; bfeState = FwpmBfeStateGet0(); if (bfeState != FWPM_SERVICE_R
46 2022-09-01
编程技术问答社区
Windows驱动开发。Visual Studio 2012中缺少部署选项
我正在尝试编译和部署这个和所有样品都无法部署文档中的" rel =" nofollow noreferrer">在Visual Studio 2012 Ultimate中缺少. 它说: 1)打开驱动程序包的属性页面.右键单击"解决方案资源管理器"中的驱动程序包项目,然后选择属性. 2)在驱动程序包的属性页面中,单击配置属性,单击驱动程序安装,然后单击部署. 但是,您在2012年的Visual Studio中没有此类选项,如您在下面的屏幕中所见: 我想知道我做错了什么. 解决方案 这是我从Microsoft支持中收到的答案. 开放msnmntr.sln在Visual Studio中. 在解决方案资源管理器中,右键单击解决方案msnmntr(2个项目),然后选择Add > New Project.导航到Windows Driver > Package.添加一个名为msnmntr软件包的新驱动程序安装软件包. 在解决方案资源管理器中,右键
26 2022-08-21
编程技术问答社区
ICMP错误层没有ICMP TTL
FWPS_LAYER_INBOUND_ICMP_ERROR_V4 层似乎未报告 ICMP Time To Live Exceeded(类型 11).如果这是设计使然,为什么超过时间不被视为错误?谢谢. 解决方案 我无法重现这个.是什么让您相信 FWPM_LAYER_INBOUND_ICMP_ERROR_V4 中未指示 TIME EXCEEDED 错误? 是否有可能在这一层的处理发生之前数据包被阻塞了? 在这些层中唯一未指示的 ICMP 错误是 SOURCE_QUENCH 和 REDIRECT,因为 Microsoft TCPIP 堆栈实际上不会将这些错误解释为错误(在这种情况下,您可以过滤这些 @FWPM_LAYER_INBOUND_TRANSPORT_V4) 希望这会有所帮助
236 2022-07-19
编程技术问答社区
如何从tcp数据包中筛选http Get数据包。。。
我当前的代码在这里, filterConditions[conditionIndex].fieldKey = FWPM_CONDITION_IP_REMOTE_ADDRESS; //更改的代码从 FWP_MATCH_EQUAL 设置为 FWP_MATCH_NOT_EQUAL, filterConditions[conditionIndex].matchType = FWP_MATCH_NOT_EQUAL; if (IsEqualGUID(layerKey, &FWPM_LAYER_OUTBOUND_TRANSPORT_V4)) { filterConditions[conditionIndex].conditionValue.type = FWP_UINT32; filterConditions[conditionIndex].conditionValue.uint32 = *(UINT
786 2022-07-19
编程技术问答社区
在WFP中有没有合适的方法获取ICMP数据包进程id
在 FWPM_LAYER_ALE_AUTH_CONNECT_V4中,inFixedValue中ICMP包进程id为4,PsGetCurrentProcess有时能得到正确的进程id,有时也返回4. 有什么不错的方法在 WFP 层获取 ICMP 数据包和进程 ID? 谢谢 解决方案 4 可能是系统进程 ID,这对于 TCPIP 的本机 ICMP 端点是有意义的. 如果原始套接字正在执行 ICMP 处理,那么我想会指示打开原始套接字的进程的 PID. 希望这会有所帮助,
722 2022-07-19
编程技术问答社区
如何在传输层(TCP)修改/插入数据。
如果我在传输层 (TCP) 拦截入站数据,在它到达应用程序之前,然后更改数据,在将数据发送到应用程序之前我需要更新什么? 特别是: - 我是否需要更新 TCP 标头中的序列号,因为负载现在大小不同了? - 我是否需要重新计算 TCP 校验和,因为负载数据现在不同了,还是 FwpsConstructIpHeaderForTransportPacket0 或FwpsInjectTransportReceiveAsync0这样做? - 因为我改变了有效载荷,我是否需要更改 IP 标头中的数据包大小?或者有没有办法FwpsConstructIpHeaderForTransportPacket0 会这样做,例如 如果我更改了 NetBuffer MDL 大小或其他方式? 我试过做一个NBL克隆和更改数据,我尝试从头开始分配 NBL 并完全构建 TCP 和 IP 标头来自入站数据包,并针对修改后的有效负载进行了调整.到目前为止,我都无法被应用程序接受. 感谢您的
202 2022-07-19
编程技术问答社区
FWPS\u FIELD\u ALE\u AUTH\u CONNECT\u V4\u PEER\u NAME相关问题
你好, 我在 FWPM_LAYER_ALE_AUTH_CONNECT_V4 层注册了一个标注例程.我有两个关于 FWPS_FIELD_ALE_AUTH_CONNECT_V4_PEER_NAME 标志的问题: 1.如果我通过用户模式应用程序启动到主机名的出站互联网连接,该标志将携带什么值(查看描述,我猜它会携带主机名,但我对文档中指定的“机器名"有点困惑. 2.我在标注例程中添加了这段代码: i = FWPS_FIELD_ALE_AUTH_CONNECT_V4_PEER_NAME; ValueType = inFixedValues->incomingValue[FWPS_FIELD_ALE_AUTH_CONNECT_V4_PEER_NAME].value.type; PeerName = inFixedValues->incomingValue[FWPS_FIELD_ALE_AUTH_CONNECT_V4_PEER_NAME].value.byteBlob;
132 2022-07-19
编程技术问答社区
HCK:安装Sparta微型端口接口失败。
在执行 WindowsFilteringPlaform_Tests 时,安装 Sparta 微型端口接口失败并出现以下错误. "使用命令行执行任务 Cmd.Exe/C "CScript.Exe %WinDir%\System32\WFPLogoSetup.JS -v -nc -nf" 退出代码 620 失败" 在执行 AppContainers_Tests 时,安装 Sparta 微型端口接口 (x1) 失败并出现 folo "使用命令行执行任务 Cmd.Exe/C "CScript.Exe %WinDir%\System32\SpartaEchoSvcInstall.JS -v -nc" 退出代码 620 失败" 可能是什么原因?如何修复这些错误? 解决方案 验证文件是否在机器上(SpartaMini.sys、SpartaMini.Cat、SpartaMini.inf).你能把 %TEMP%\WFPLogoSetup.NTLo
184 2022-07-19
编程技术问答社区
在FWPM\u LAYER\u INBOUND\u IPPACKET设置过滤器,它可以捕获转发的数据包吗?
或在 FWPM_LAYER_IPFORWARD 是必须的吗? 解决方案 这取决于. 通常答案是否定的,您必须坐在 FWPM_LAYER_IPFORWARD 才能看到转发路径上的数据包.不过,前向路径有两种情况. 最常想到的案例是路由.这是一个从接口 A 进来并离开接口 B 的数据包. 数据包的目的地不是转发它的机器. 第二种情况适用于弱主机模型. 这是数据包进入接口 A 的地方,但目的地是接口 B. 在这种情况下,您会在 IPFORWARD 和 IPPACKET 上看到它,因为它是发往本地机器的. 为了这个但要工作,必须启用弱主机(强主机模式是默认设置)http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx 希望这会有所帮助,
360 2022-07-19
编程技术问答社区
Windows 7 adv firewall和BFE
我想我在过去一周中几乎搜索了每个 msdn/ms 帖子和文档来描述这个问题,但无法拼凑到足以解决它. 这开始是对 Win 7 x64 专业防火墙的渗透测试.该系统是完全零售的,上面只有 MS 产品,完全更新了标准设置.我切换到阻止入站和出站来测试渗透 用遥控器计算机.当我发现几个不一致的地方时,我希望你能帮助我. 可以通过 5 种常见的 不同机制配置通过 windows 防火墙的安全性 - (示例 - 停止它) 在控制面板的防火墙 CPL 中 在高级防火墙 MMC 中 在服务管理器 MMC 中 Netsh Firewall set opmode disable Net stop MPSSVC 或 net stop sharedaccesss(取决于操作系统) + 另一个 1 = 使用 Group Edit (gpedit) MMC 但我并没有停止它,我正在尝试安全地配置它以便对其进行测试.Windows 过滤平台上的文档使 BFE 成为这个难题中
188 2022-07-19
编程技术问答社区
WfpSampler流注入同步
我正在审查 FWPM_LAYER_STREAM 上 BasicStreamInjection 的 WfpSampler. 代码中勾勒出的是Clone items列表的某种同步,如: VOID BasicStreamInjectionDeferredProcedureCall(_In_ KDPC* pDPC .... .... ///序列化Stream注入,防止数据损坏 KeAcquireSpinLock(&(g_bsiSerializationList.spinlock), &irql); if(!IsListEmpty(&(g_bsiSerializationList.listHead))) { pListEntry = RemoveHeadList(&(g_bsiSerializationList.listHead)); g_bsiSerializationList.
126 2022-07-19
编程技术问答社区