|
|
|
Arduino, Нажатия мыши и клавиатуры в обход защиты от кликеров |
|
|
cirus |
19.1.2021, 3:39
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 27455
Пользователь №: 16.971
Возраст: 29
|
Цитата А вот в ручную все же можно повесить порт или пилота - частым запуском Тут и стараться не надо. Остановка скрипта при открытом порте и после этого потребуется перезапуск пилота. Можно ещё длл попробовать, но в скорее всего ничего не изменится, т. к. в ней тот же самый код.
Arduino.zip ( 101,33 килобайт )
Кол-во скачиваний: 814Архив распаковать и закинуть в папку с пилотом. Тестил только на win10. Пример использования: код
Код --lua local ffi = require("ffi") log 'clear' log 'mode compact' local hw = ffi.load('Arduino.dll')
ffi.cdef[[ int get_port(int VID, int PID); int set_port(int com); int set_delay_mouse(int ms); int set_delay_mousemove(int ms); int set_offset_mousemove(int step); int set_random_delay_mouse(int rand); int mouse_move(int x, int y); ]]
local com = hw.get_port(2341, 8036) hint('Номер порта: ' .. tostring(com)) if com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end
hw.set_port(com) hw.set_delay_mouse (20) -- установить паузу между нажатиями клавиш мыши hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
hw.mouse_move (651, 225) -- переместить мышь
|
|
|
|
KotMC |
19.1.2021, 23:06
|
Neophyte
Сообщений: 34
Регистрация: 10.1.2021 Группа: Пользователи Наличность: 0
Пользователь №: 19.851
Возраст: 36
|
Цитата(cirus @ 18.1.2021, 13:16) KotMC, этот файл в папку с пилотом закиньте
Этот модуль можно использовать вместо , модуля из шапки? Список функций для него не меняется? Зависания пилота происходили скорее всего из-за ноутбука. На двух из трех usb портов работает с рандомными завываниями, на одном более менее стабильно. Проверил на других компьютерах - пилот, модуль, ардуино, скрипт работаю нормально.
|
|
|
|
cirus |
19.1.2021, 23:46
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 27455
Пользователь №: 16.971
Возраст: 29
|
Цитата Этот модуль можно использовать вместо , модуля из шапки? Можно. И не только в пилоте, а любой другой программе, которая может подключать библиотеки. Цитата Список функций для него не меняется? Вызов некоторых функций отличается. Список функций Arduino.dll
Код --lua local ffi = require("ffi") local hw = ffi.load('Arduino.dll')
ffi.cdef[[ int get_port (int vid, int pid); int set_port (int COMport); int set_delay_key (int ms); int set_delay_mouse (int ms); int set_delay_mousemove(int ms); int set_offset_mousemove(int step); int set_random_delay_key(int rand); int set_random_delay_mouse(int rand);
int key (int code); int key_down (int code); int key_up (int code); int text (const char* text);
int mouse_move (int x, int y); int mouse_click (int button); int mouse_click_dbl (int button); int mouse_left (int x, int y); int mouse_right (int x, int y); int mouse_middle (int x, int y);
int mouse_left_dbl (int x, int y); int mouse_right_dbl (int x, int y); int mouse_middle_dbl (int x, int y);
int mouse_left_down (int x, int y); int mouse_right_down (int x, int y); int mouse_middle_down (int x, int y);
int mouse_left_up (int x, int y); int mouse_right_up (int x, int y); int mouse_middle_up (int x, int y);
int mouse_drag_left (int x, int y, int x2, int y2); int mouse_drag_right (int x, int y, int x2, int y2);
int mouse_wheel_up (int x, int y, int count); int mouse_wheel_down (int x, int y, int count); ]] Т. е. вместо hw.mouse.move (651, 225) надо hw.mouse_move (651, 225).
|
|
|
|
kyja |
1.2.2021, 1:28
|
Novice
Сообщений: 88
Регистрация: 29.10.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.164
|
Цитата(kyja @ 28.1.2021, 1:32) Подскажите пожалуйста как можно решить проблему крайне медленной работы на vmware workstation 16? Фактически все работает но время выполнения просто огромное, на virtualbox такой проблемы нету вообще там все как на обычном пк все отрабатывает согласно задержкам
Если кому то интересно то для vmware это решилось с помощью USB over Network офсайт но так же она есть на торентах (странно конечно что родное подключение от vmware работает хуже чем стороний софт при по сути одинаковой логике проброса юсб у обоих через tcp/ip если не ошибаюсь) возможно это глюк именно для arduino потому что если замерить скорость флешки через CrystalDiskMark то разница у хоста и виртаулки будет всего 5-15% но проброшенный arduino работает в ~500 раз медленней чем на хосте И еще вопрос вомзожно ли подключатся не через Код hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино vid и pid а через например номер com порта? у них ведь у всех он одинаков и если запустить несколько пилотов он ведь не поймет к какому именно устройству надо подсоединятся Код --lua require"luaposh";hw=require"arduino";log"clear"
hw.com = PScode('R',{[[$Return=Get-ArduinoPort]]}) if type(hw.com) ~= "number" then log("ERROR\n"..hw.com) end_script() end
hw.mouse.move(400, 200) Или это и есть способ подключатся именно к определенному com порту? (у меня не получилось)
|
|
|
|
kyja |
9.2.2021, 22:21
|
Novice
Сообщений: 88
Регистрация: 29.10.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.164
|
Подскажите а как используя Arduino.dll отправить нажатие кнопок Код hw.key (hw.enter) -- нажать 'Enter' hw.text ('Hello Привет') -- напечатать текст hw.key ('V') -- нажать Shift+'v' Enter получилось так Код а вот обычные буквы вообще не понял
|
|
|
|
kyja |
10.2.2021, 0:20
|
Novice
Сообщений: 88
Регистрация: 29.10.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.164
|
скрипт
Код --lua local ffi = require("ffi") local hw = ffi.load('Arduino.dll')
ffi.cdef[[ int get_port (int vid, int pid); int get_port (int vid, int pid); int set_port (int COMport); int set_delay_key (int ms); int set_delay_mouse (int ms); int set_delay_mousemove(int ms); int set_offset_mousemove(int step); int set_random_delay_key(int rand); int set_random_delay_mouse(int rand);
int key (int code); int key_down (int code); int key_up (int code); int text (int text);
int mouse_move (int x, int y); int mouse_click (int button); int mouse_click_dbl (int button); int mouse_left (int x, int y); int mouse_right (int x, int y); int mouse_middle (int x, int y);
int mouse_left_dbl (int x, int y); int mouse_right_dbl (int x, int y); int mouse_middle_dbl (int x, int y);
int mouse_left_down (int x, int y); int mouse_right_down (int x, int y); int mouse_middle_down (int x, int y);
int mouse_left_up (int x, int y); int mouse_right_up (int x, int y); int mouse_middle_up (int x, int y);
int mouse_drag_left (int x, int y, int x2, int y2); int mouse_drag_right (int x, int y, int x2, int y2);
int mouse_wheel_up (int x, int y, int count); int mouse_wheel_down (int x, int y, int count); ]]
local com = hw.get_port(2341, 8036) --hint('Номер порта: ' .. tostring(com)) if com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end
hw.set_port(com) hw.set_delay_mouse (95) -- установить паузу между нажатиями клавиш мыши hw.set_random_delay_mouse(15) -- установить рандом между нажатиями клавиш мыши от 0 до 15 мсек hw.set_offset_mousemove(6) -- шаг перемещения курсора, чем больше тем быстрее перемещается hw.set_delay_mousemove(6) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается hw.set_delay_key (325) -- установить задержку нажатий клавиатуры hw.set_random_delay_key(95) -- рандом в мсек между нажатием и отпусканием клавиш клавиатуры
wait (3000 + math.random (20))
hw.key ('k') -- нажать wait (75 + math.random (30)) hw.key (0xB0) -- нажать wait (375 + math.random (30)) В таком виде тоже не работает hw.key (k) -- нажать но все что Hexadecimal значение отлично проходят
Эскизы прикрепленных изображений
|
|
|
|
KotMC |
10.2.2021, 0:44
|
Neophyte
Сообщений: 34
Регистрация: 10.1.2021 Группа: Пользователи Наличность: 0
Пользователь №: 19.851
Возраст: 36
|
Цитата Вызов некоторых функций отличается. Список функций Arduino.dll
Список функций Arduino.dll Код --lua local ffi = require("ffi") local hw = ffi.load('Arduino.dll')
ffi.cdef[[ int get_port (int vid, int pid); int set_port (int COMport); int set_delay_key (int ms); int set_delay_mouse (int ms); int set_delay_mousemove(int ms); int set_offset_mousemove(int step); int set_random_delay_key(int rand); int set_random_delay_mouse(int rand);
int key (int code); int key_down (int code); int key_up (int code); int text (int text);
int mouse_move (int x, int y); int mouse_click (int button); int mouse_click_dbl (int button); int mouse_left (int x, int y); int mouse_right (int x, int y); int mouse_middle (int x, int y);
int mouse_left_dbl (int x, int y); int mouse_right_dbl (int x, int y); int mouse_middle_dbl (int x, int y);
int mouse_left_down (int x, int y); int mouse_right_down (int x, int y); int mouse_middle_down (int x, int y);
int mouse_left_up (int x, int y); int mouse_right_up (int x, int y); int mouse_middle_up (int x, int y);
int mouse_drag_left (int x, int y, int x2, int y2); int mouse_drag_right (int x, int y, int x2, int y2);
int mouse_wheel_up (int x, int y, int count); int mouse_wheel_down (int x, int y, int count); ]]
Т. е. вместо hw.mouse.move (651, 225) надо hw.mouse_move (651, 225). Если не ошибаюсь здесь ответ.
|
|
|
|
kyja |
10.2.2021, 0:52
|
Novice
Сообщений: 88
Регистрация: 29.10.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.164
|
Цитата(KotMC @ 10.2.2021, 0:44) Если не ошибаюсь здесь ответ.
Это мышка с ней проблем нет, и Hexadecimal значениями тоже все ок но вот именно просто кнопка k (я бы и Hexadecimal заменил все клавиши но не смог найти на сайте ардуино список по всем символам)
|
|
|
|
kyja |
19.2.2021, 0:50
|
Novice
Сообщений: 88
Регистрация: 29.10.2016 Группа: Пользователи Наличность: 0
Пользователь №: 18.164
|
Подскажите почему может не срабатывать рандом смешение у hw.mouse.move, пробовал такие варианты не срабатывает не один Код local x, y = 37, 533, 50, 50, -50, -52 hw.mouse.move (x, y) Код hw.mouse.move (37, 533, 50, 50, -50, -52) Код hw.mouse.move (39, 537, 5, 10, -7, -12) local x, y = mouse_pos () hw.mouse.left (x, y, 50, 50, -50, -50)
|
|
|
|
|
|
18 чел. читают эту тему (гостей: 18, скрытых пользователей: 0)
Пользователей: 0
|
|