1

检测机器人应用程序存在/活动的最有效方法是什么?

1 考虑到用户可以授予Windows (XP/7) 操作系统中反作弊系统的任何访问权限。

2 不考虑潜在的不道德或非法方法。

3 忽略用户行为检测(例如检查用户操作之间的时间或鼠标移动的平滑度或使用验证码来检测机器人或其他)。

到目前为止,我能想到:

  • 检查鼠标/键盘事件的 INJECTED 标志。

  • 扫描进程列表,检测潜在的“坏”进程。

  • 检查应用程序的完整性以避免直接注入。

  • 检查环境是否为虚拟机(以避免上述检查的误报)。

4

1 回答 1

1

这是一篇关于这个主题的好帖子: 如何防止我们的(多人)游戏中的作弊行为?

我对你的名单的看法:

  • KbDllHookStruct Injected Flag - 对于使用虚拟设备的用户,您会得到误报。使用几种未记录的方法也很容易伪造。
  • 扫描过程 - 也容易出现误报和潜在的法律问题。
  • 检测注入 - 许多合法应用程序将自己注入其他进程(例如 DisplayFusion、dxtory、fraps)
  • 检查虚拟机 - 在虚拟机中玩游戏并不意味着玩家在作弊。

几点建议:

  • 在您的进程中,扫描并计算已加载模块(包括您自己的)的哈希值,如果检测到恶意程序集,则断开/禁止。需要存储已知的哈希值。
  • 检查是否存在调试器。
  • 检查内存/硬件断点。
  • 服务器/客户端矢量检查速度和传送检测。
  • 服务器端检查更容易实现、维护,并且正如 Damon 上面评论的那样,更可靠。客户端上的任何东西都可以被颠覆。
于 2013-12-10T17:24:50.810 回答