我正在研究一种在《现代战争 2》中踢作弊者的方法(当你是主持人时)。我已经能够使用 winpcap 嗅探包来识别玩家名称及其 IP。

我需要一种方法来阻止所有流量(或仅阻止到我的计算机的目标 IP UDP 流量)。因此玩家将会超时/滞后。

有谁知道有一个可用的库可以让我轻松地做到这一点。我可以采用困难的方式来完成此操作,安装 Windows DDK 并在 C++ 中乱搞以创建低级 NDIS 驱动程序,但是对 C++ 非常生疏,并且为此编译模板代码时出现所有典型的编译问题,我更喜欢一些为此准备好编码库。

或者也许有人有更好的想法?

解决方案:使用 Windows 防火墙。简单的 API 可动态创建和删除规则。有什么方法可以使用 C# 在 Windows 中关闭“互联网”吗?

现在,执行此操作的测试程序可以运行。我把 2 个人踢出了游戏。

有帮助吗?

解决方案

您运行的防火墙?也许你可以使用防火墙的API拒绝来自恶意主机的连接请求。例如,“Windows防火墙具有高级安全性” API 是可能可以用很多电脑。

其他提示

您应该能够将该 IP 的无效条目放入 Windows Hosts 文件中。这是一些 C# 可能适合您的代码。

这个地方 讨论了一种使用 IPSec 过滤 IP 地址的方法。但它非常手动。过程如下:

在本地安全设置/IP 安全策略下

  1. 创建新的 IP 过滤器列表
  2. 源IP是我的IP地址
  3. 目的地(在本例中)是 129.74.250.101 (nd.edu)
  4. 协议是任何
  5. 创建新的 IP 安全策略(使用 Kerberos 5 身份验证)
  6. 添加 IP 安全规则(此规则不是隧道)(所有网络连接)
  7. 添加您刚刚创建的新 IP 过滤器列表。(需要安全)
  8. 分配新策略

如果您能弄清楚如何在 C# 中做到这一点,那么您就是赢家。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top