如何检测人工鼠标移动?

时间:2012-12-29 21:33:54

标签: windows mouse

我们写了一个游戏,你尽可能快地射击目标,有人写了一个程序来自动射击目标(通过模拟鼠标移动/点击)。

我怎样才能发现这个?我想过监控鼠标速度等等,但它似乎太容易绕过了。如果有帮助,游戏在Windows上运行/用C ++编写。有没有办法告诉这个运动不是来自硬件?

1 个答案:

答案 0 :(得分:4)

请参阅How to detect if mouse click is legit or automated?基本上它说它无法可靠地完成,因为有几个原因,其中之一就是程序员会找到一种方法来绕过你想做的任何事情。

正如所建议的那样,启发式算法似乎是一个可行的选择。监控可变鼠标速度,未命中率和准确度,暂停,突然跳跃等。启发式越好,程序员就越需要让他的机器人更接近真正的玩家,并且他获得的成功就越少。

PS:即使是像反恐精英这样众所周知的射击游戏,也有hacks可以完美地为你射击,所以他们也没想出如何/不想阻止它。