如果你想检测一个按钮时点击一个按钮的Bot,你能看看左按钮在再次上升之前保持多长时间吗? 我的意思是像这样的脚本(python):
import win32api, win32con
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
点击真的很快。可能比人类快。始终处于(非常接近)相同的速度。反僵尸系统可以检测到吗?
因此,您可以在两个mouse_event之间添加time.sleep(float)
指令。但它应该是随机的吗?我们两次点击之间的时间可能略有不同,精确度低于计算点击次数。
那么我们应该花多长时间让睡眠持续(randrange的最小值和最大值)?
未被发现可能需要付出太多努力,但这可能吗?
如此快速回顾:
我们能否在点击速度和点击时间上检测机器人,甚至不会改变一点?
普通人在按下按钮前按下按钮多长时间?如果我想保持不被发现,我应该随机抽出这个时间,以及最小和最大?
(我不是在谈论其他现有的安全措施,例如检查是否反复按相同的像素。)
答案 0 :(得分:1)
是的,可以通过这种方式检测机器人。
是的,为点击速度,延迟,鼠标路径,移动速度等提供随机偏移是规避此类检测的标准解决方案。还有许多其他方法可以检测机器人。
要获得平均点击速度,请编写一个简短的程序,记录mouseDown和mouseUp事件的时间戳,然后单击它。