2010-08-27 53 views
1

用户可以使用游戏(桌面或网络)作弊的一种方式是让“机器人”监控屏幕并为其移动鼠标。有没有办法(当然透明度和用户权限)来监视应用程序是否在控制鼠标?我主要感兴趣的是一个Windows应用程序,但是如果有其他操作系统的方法,那么这对于了解它也是有用的。 谢谢!什么应用程序有鼠标控制?

+0

我很确定鼠标位置是一个系统级别的进程,大多数操作系统使用低级别的API来允许应用程序将鼠标移动到显式位置。如果这些API具有跟踪调用来自哪里的变量或函数,那么可能,但最后我记得(这是一种退路),它们不是,至少不是用于Windows。 – 2010-08-27 12:42:04

回答

0

不应该有。任何设计合理的UI层只会将事件传递给应用程序,以及有关鼠标,键盘等输入的事件。这些事件通常不包括有关事件如何生成的信息(您不应该关心,那么为什么要支付这种开销)。

一种方法可能是扫描系统中的名称为已知“事件推销员”的进程,非常类似于某些反病毒程序按名称列出黑名单应用程序。

+0

是的,但名称跟踪可以轻松击败(只需重命名应用程序/进程)。即使跟踪哪些进程占用CPU时间也可能无法捕捉到这些应用程序... – Bryan 2010-08-27 16:09:07

0

在Windows上,你可以添加一个hook监视注入键盘或鼠标消息,
删除他们,如果你喜欢。

但我不确定是否可以找到消息的来源。

+0

有趣的角度 - 将检查链接。 – Bryan 2010-08-27 16:10:28

0

只是一个想法: 获取当前鼠标位置并检查快速位置变化。 从(10,15)到(1000,400)一样。 大多数机器人只是设置一个新的位置,不要模仿人类的鼠标移动。

+0

约定 - 使用情况分析是一种可行的方法,当然,只是看到是否有另一个控制鼠标的应用程序的具体证据可用,而不是看到某个东西看起来像机器人。 – Bryan 2010-08-27 16:05:55

相关问题