Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 04:18   #1
amakl
 
Регистрация: 25.09.2010
Сообщений: 5
По умолчанию Можно ли программно определить, что мышь двигает не человек, а бот?

Допустим, бот использует функцию SendInput. Движения выполняются плавно, траектория меняется, используются случайные временные задержки, и т.п.
Можно ли в этом случае определить, что мышь физически не двигается?
amakl вне форума Ответить с цитированием
Старый 10.01.2011, 04:31   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)если делается полностью вместо человека(то есть с установкой координат мыши и тп, то есть полной эмуляцией через mouse_event kb_event) то я думаю тяжело очень.
2)а вот если пытаются через сообщения то можно например проверять наличие фокуса у окна(тогда не выйдет окно скрыть и чтото в нем делать, типо от пользователя)
ибо при щелчке мышью окно то имет фокус ввода

в первом случае комп полностью отдается на растерзание боту.
а во втором за компом где работает бот можно работать(но если вставить проверку, то не выйдет)
а то и пытаются несколько копий запустить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 10.01.2011 в 04:34.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.01.2011, 13:14   #3
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

Не уверен, но возможно GetMessageExtraInfo поможет разобраться.
x128 вне форума Ответить с цитированием
Старый 10.01.2011, 13:28   #4
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Можно определить только, если напрямую взаимодействовать с драйвером мыши.
На уровне ОС обнаружить различие невозможно.
Программно отправляемые команды представляют собой сообщения системы и ОС не делает никаких различий между сообщениями из программы или с устройства.
Если нет какой-либо системы следящей за драйверами мыши (это могут быть некоторые антивирусники), то можете не беспокоится.
Виталий Желтяков вне форума Ответить с цитированием
Старый 11.01.2011, 02:18   #5
amakl
 
Регистрация: 25.09.2010
Сообщений: 5
По умолчанию

Собственно беспокойство возникло по причине блокировки бота.
Известно, что клиент использует хук на getmessage. Возможно ли с помощью этого хука определить от кого приходят сообщения о движениях мыши, от программы или от физ. устройства?
Если исходить из того, что ведется слежение за драйверами мыши, возможно ли как то обойти эту систему?
amakl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно определить IP Дамир Общие вопросы .NET 2 10.10.2010 19:20
Как программно определить процесс запущенный в системе cupuyc. C++ Builder 4 12.08.2010 00:56
Бот-скриншотер - можно ли отследить? boris-blade Win Api 0 19.12.2009 19:52
Определить кол-во человек. Помогите Crish Паскаль, Turbo Pascal, PascalABC.NET 1 15.09.2009 21:09
Как программно определить зависшее приложение? Air Win Api 5 26.11.2007 00:30