 |
Вопросы по эмуляции нажатий кнопок мыши и перемещению. - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
10.08.2015, 11:30
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 23.07.2012
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Вопросы по эмуляции нажатий кнопок мыши и перемещению.
Клиент пв не принимает даже обычное mouse_move, пишу на автоит.
Судя по тому что нашел в старых темках - есть выход - разморозка окна клиента, в связи с этим вопрос: на сколько это палится, да и работает ли на данный момент?
Этот вариант не сильно нравится, есть ли иные? Читал про эмуляцию на уровне драйверов, готовых примеров не нашел. Нужна только мышь, её хватит для моих целей более чем. В идеале мышь должна использоваться не обращаясь напрямую к клиенту(то есть или через абсолютные координаты или полностью эмулируя работу железа).
|
|
|
10.08.2015, 12:36
|
#2
|
|
|
|
Разведчик
|
 Регистрация: 04.04.2015
 Сообщений: 0
 Популярность: 385
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
10.08.2015, 12:53
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 23.07.2012
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
В случае если это можно заметить то: "Разморозка игрового клиента = вмешательство в работу клиента = бан". А так не, не волнует =).
|
|
|
10.08.2015, 23:58
|
#4
|
|
|
|
Сержант
|
 Регистрация: 16.02.2012
 Сообщений: 105
 Популярность: 651
 Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
________________
backup - акт проявления трусости
|
|
|
11.08.2015, 09:24
|
#5
|
|
|
|
Разведчик
|
 Регистрация: 23.07.2012
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
 |
Цитата: |
 |
|
|
 |
Сообщение от pw.assistant |
 |
|
|
|
|
|
|
Насколько мне известно эта информация даже в гварде не присутствует. Так что из-за разморозки точно в бан не попадешь. Другой вопрос подключенная программа. Её могут запалить.
P.S. вообще если боишься бана, то не стоит нарушать правила игры.
|
|
 |
|
 |
|
Бан баном, на то и есть тестовые аккаунты, которые не жалко) На данный момент проектировал бота на концепции максимального невмешательства в сам клиент. В итоге уткнулся в проблему посылания в него клавиш и движений мыши, с остальным проблем нет, послать нажатия клавы можно через экранную (при условии что мыша сдвинется с места при активном окне пв - а с этим как раз проблема) 
То что все это будет работать на виртуалке - не страшно, комп позволяет, тем более еще и ноут есть.
Подключенная программа. А как её то спалят?) На данный момент она вмешивается только в работу экранной клавиатуры, делает скрины, сам клиент не трогает и никаким боком не цепляет) А вот при разморозке да - косвенно будет влиять на клиент  (посылания мыши планировались на глобальном уровне - то есть просто по абсолютным координатам, не привязанным к окнам, к сожалению я не проверил это на клиенте заранее, так как часть бота на работе писал в свободное время  )
Последний раз редактировалось GreyWerewolf; 11.08.2015 в 09:28.
|
|
|
12.08.2015, 05:18
|
#6
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 31.01.2011
 Сообщений: 413
 Популярность: 14489
 Золото Zhyk.Ru: 300
 Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
12.08.2015, 09:25
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 23.07.2012
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
Последний раз редактировалось GreyWerewolf; 12.08.2015 в 09:30.
|
|
|
12.08.2015, 17:31
|
#8
|
|
|
|
Разведчик
|
 Регистрация: 04.04.2015
 Сообщений: 0
 Популярность: 385
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
13.08.2015, 09:25
|
#9
|
|
|
|
Разведчик
|
 Регистрация: 23.07.2012
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
То есть свернул/развернул = подозрение на ботов? Слишком много будет запросов
|
|
 |
|
 |
|
Ну как одна из проверок вполне бы подошла) Ведь в не активном окне не могут выполняться действия в игре, значит два условия: 1) разморозка + 2) отсылка пакетов по управлению персонажем.
Подозреваю тогда, что дело не в заморозке, работа с не активным окном меня не интересует - т.к. бот эмулирует поведение человека, то неактивное окно по умолчанию у человека быть не может.
Мышь пытаюсь двигать командами mouse_move (и другими, даже через user32.dll и mouse_event) при активном окне пв. Но мышь стоит на месте, глобальные щелчки по координатам тоже не проходят. Есть идеи почему такое дело?  (у меня вот есть, возможно запустил скрипт не от админа, но что то мне подсказывает, что таки не тут ошибся, хотя и проверю еще раз вечерком  )
|
|
|
13.08.2015, 13:20
|
#10
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2013
 Сообщений: 27
 Популярность: 10
 Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
|
|
|
13.08.2015, 15:30
|
#11
|
|
|
|
Разведчик
|
 Регистрация: 23.07.2012
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
Конкретно данные движения мышью?) Mouse_move писать не буду - он стандартный автоитовский, как и controlclick для щелчка, вот пример нестандартных (через WinAPI версии не сохранял, но тоже пробовал, в конце пример для удержания кнопки мыши через API - но такой вариант применительно к клиенту меня не устраивает, конкретно данная функция с API писалась для экранной клавы):
Код:
Func _MouseClick($x, $y, $User32 = "User32.dll")
$x *= $x_koef
$y *= $y_koef
DllCall($User32, "none", "mouse_event", "int", 32769, "int", $x, "int", $y, "int", 0, "int", 0) ; 32769 0x8001 BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_MOVE)
DllCall($User32, "none", "mouse_event", "int", 32770, "int", $x, "int", $y, "int", 0, "int", 0) ; 32770 0x8002 BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_LEFTDOWN)
DllCall($User32, "none", "mouse_event", "int", 32772, "int", $x, "int", $y, "int", 0, "int", 0) ; 32772 0x8004 BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_LEFTUP)
EndFunc
Func _MouseMove($x, $y, $User32 = "User32.dll")
$x *= $x_koef
$y *= $y_koef
DllCall($User32, "none", "mouse_event", "int", 32769, "int", $x, "int", $y, "int", 0, "int", 0) ; 32769 0x8001 BitOR($MOUSEEVENTF_ABSOLUTE, $MOUSEEVENTF_MOVE)
EndFunc
Func MouseLeftHold($hWnd, $X, $Y, $Time); удержание кнопки мыши
Local Const $MK_LBUTTON = 0x0001
while $Time>0
_WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_LBUTTONDOWN))
_WinAPI_PostMessage($hWnd, $WM_LBUTTONDOWN, $MK_LBUTTON, _WinAPI_MakeLong($X, $Y))
Sleep(10)
$Time=$Time-0.01;
WEnd
_WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_LBUTTONUP))
_WinAPI_PostMessage($hWnd, $WM_LBUTTONUP, 0, _WinAPI_MakeLong($X, $Y))
EndFunc
Последний раз редактировалось GreyWerewolf; 13.08.2015 в 15:36.
|
|
|
13.08.2015, 21:08
|
#12
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2013
 Сообщений: 27
 Популярность: 10
 Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
|
|
|
14.08.2015, 00:51
|
#13
|
|
|
|
Разведчик
|
 Регистрация: 04.04.2015
 Сообщений: 0
 Популярность: 385
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
14.08.2015, 09:15
|
#14
|
|
|
|
Разведчик
|
 Регистрация: 23.07.2012
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Любой игрок сможет поставить себя на встроенного в клиент бота и свернуть окно. Мониторинг unfreeze, как по мне, это глупое предположение, имхо
|
|
 |
|
 |
|
Да, совсем забыл про это новшество, нынче выходит да - проверка бессмысленна(хотя опять же - смотря как бот работает, можно там пометки какие в пакетах ставить, что автобот работает, ну да ладно, это вопросы защиты, китайцы видимо не заморачиваются как и мейл).
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Без вин апи мышь не получится сэмулировать, даже если есть какие-то стандартные функции 100% - это оболочки над вин апи.
|
|
 |
|
 |
|
Тобишь без обращения непосредственно к хэндлу окна пв способов двинуть мышью нет?  (последний способ в моих примерах на пвшке я еще не тестил, думаю на выходных гляну работает или нет).
|
|
|
14.08.2015, 12:30
|
#15
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2013
 Сообщений: 27
 Популярность: 10
 Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: Вопросы по эмуляции нажатий кнопок мыши и перемещению.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:38.
|
 |