windows – 如何检测人工鼠标移动?

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

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

解决方法

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

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

PS:即使是像Counter Strike这样的知名射击游戏,也有hacks可以完美地拍摄一切,所以他们也没想出如何/不想要阻止它.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...