跟踪FPS游戏中的鼠标移动?

时间:2020-10-15 12:59:26

标签: mouse tracking frame-rate

我试图弄清楚在玩FPS游戏进行一些分析时如何提取鼠标移动数据。我有兴趣尝试找出是否可以使用鼠标移动数据来区分合法玩家和使用不同种类的aimhack的玩家。我目前正在尝试从CSGO游戏中获取数据,但对于如何实际获取可用数据有些困惑。

到目前为止,我已经尝试使用C ++并以一定的时间间隔轮询GetCursorPos()方法来获取当前鼠标在屏幕上的位置,但是我发现此方法存在一些(可能吗?)问题。由于游戏试图将光标锁定在游戏窗口的中间并将其保持在该位置,从而产生一种“蹦极”效果,因此我担心是否将要记录的数据甚至认为可以使用。

我用这种方法注意到的另一个问题是,即使以每秒1000次的速度进行轮询,有时我的程序也无法注意到超精细的移动,例如,确实,非常缓慢地移动鼠标。

我正在考虑的另一种方法是直接从内存中收集玩家视点的俯仰和偏航值。从我从邪恶的来源收集到的信息来看,这应该是100%可行的。可能会需要一些可能会使您感到厌烦的事情,但是我只需要使用-untrusted启动命令来运行游戏,并从本地运行的游戏中收集数据。我目前正在倾向于这种方法,因为从我收集的数据来看,一些作弊甚至根本不会尝试模仿鼠标的移动,而是直接在内存中更改音调和偏航值。尽管再次提到了前面提到的邪恶来源,但似乎有些作弊行为使使用诸如SendInput()等C ++方法来模拟鼠标移动更加费劲。

第三,我正在考虑是否可以直接从鼠标本身获取鼠标移动数据。显然USB HID protocol会发送X和Y运动,但是如何捕获当前的运动超出了我的范围。而且我也不知道最终用于测试的作弊行为是否也会影响这些数字。

任何输入将不胜感激。

0 个答案:

没有答案