|
Arduino, Нажатия мыши и клавиатуры в обход защиты от кликеров |
|
|
cirus |
14.12.2020, 0:24
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 27516
Пользователь №: 16.971
Возраст: 29
|
Скетч и модуль lua:
Arduino.zip ( 7,33 килобайт )
Кол-во скачиваний: 1238Драйвер для ардуино:
CH341SER.zip ( 185,9 килобайт )
Кол-во скачиваний: 1693Arduino позволяет эмулировать нажатия клавиш клавиатуры и мыши, в том числе в приложениях, которые блокируют нажатия кликеров. Может поворачивать камеру в шутерах и играх, в которых камера поворачивается с зажатой правой кнопкой мыши. Дополнительная информация по обходу защиты в MMORPG. Работает только с активным окном.
Необходимое устройство и установка ПО
1. Требуется плата Arduino micro или Arduino Leonardo. Заказать можно на Aliexpress. 2. Скачать и установить Arduino IDE. https://www.arduino.cc/en/software ( Windows Win7 and newer) 3. Скачать и установить драйвер CH341SER (ссылка вначале темы). 4. Открыть Arduino IDE, пункт меню 'Инструменты', выбрать тип платы и порт. 5. Скачать архив arduino.zip (ссылка вначале темы) и извлечь его. Файл arduino.lua закинуть в папку, в которой находится exe пилота. Скетч загрузить в ардуино. Для этого скопировать содержимое файла Скетч.txt, вставить в Arduino IDE, нажать кнопку 'Загрузка'. Требования
Пилот версии 2.41 или выше. Запускать от администратора. Для работы функций мыши нужно в настройках мыши снять галочку 'Включить повышенную точность установки указателя'. В функцию get_port (2341, 8036) нужно передавать vid и pid ардуино. Узнать их можно в Arduino IDE, пункт меню 'Инструменты', 'Получить информацию о плате'. При переполнении буфера, хотя такого не должно быть, 3 секунды будет гореть встроенный светодиод L. В этом случае нужно увеличить паузы между нажатиями клавиш мыши/клавиатуры. Все координаты в командах мыши указывать абсолютные, т. е. относительно левого верхнего угла экрана.
Список функций
get_port (vid, pid) -- узнать в каком com порте находится ардуино
set_delay_key (ms) -- установить задержку нажатий клавиатуры set_delay_mouse (ms) -- установить задержку нажатий мыши set_delay_mousemove(ms) -- установить паузу в мсек между каждым шагом перемещения курсора, чем меньше, тем быстрее перемещается курсор set_offset_mousemove(step) -- шаг перемещения курсора от 1 до 127, чем больше, тем быстрее перемещается курсор. set_random_delay_key(random) -- рандом в мсек между нажатием и отпусканием клавиш клавиатуры set_random_delay_mouse(random) -- рандом в мсек между нажатием и отпусканием клавиш
key (code) -- нажать клавишу клавиатуры text (text) -- отослать текст, в том числе русские символы key_down (code) -- зажать (не отжимая) клавишу клавиатуры key_up (code) -- отжать клавишу клавиатуры
mouse.move (x, y) -- переместить мышь mouse.click (x, y, button) -- кликнуть мышью, button должен содержать код клавиши мыши (смотреть список клавиш) mouse.left (x, y) -- клик левой кнопкой mouse.right (x, y) -- клик правой кнопкой mouse.middle (x, y) -- клик средней кнопкой mouse.dbl (x, y, button) -- двойной клик, button должен содержать код клавиши мыши mouse.left_dbl (x, y) -- двойной клик левой кнопкой мыши mouse.right_dbl (x, y) -- двойной клик правой кнопкой мыши mouse.middle_dbl (x, y) -- двойной клик средней кнопкой мыши mouse.down (x, y, button) -- зажать (не отжимая) кнопку мыши, button должен содержать код клавиши мыши mouse.left_down (x, y) -- зажать (не отжимая) левую кнопку мыши mouse.right_down (x, y) -- зажать (не отжимая) правую кнопку мыши mouse.middle_down (x, y) -- зажать (не отжимая) среднюю кнопку мыши mouse.up (x, y, button) -- отжать кнопку мыши, button должен содержать код клавиши мыши mouse.left_up (x, y) -- отжать левую кнопку мыши mouse.right_up (x, y) -- отжать правую кнопку мыши mouse.middle_up (x, y) -- отжать среднюю кнопку мыши mouse.drag (x, y, x2, y2) -- зажать левую кнопку мыши в точке x y, переместить в точку x2 y2 mouse.wheel_up (x, y, count) -- прокручивание колёсика мыши вверх, count - насколько щелчков прокрутить mouse.wheel_down (x, y, count) -- прокручивание колёсика мыши вниз, count - насколько щелчков прокрутить
Список многосимвольных клавиш
mouse_left_button = 1 mouse_right_button = 2 mouse_middle_button = 4
left_ctrl = 0x80 left_shift = 0x81 left_alt = 0x82 left_gui = 0x83 right_ctrl = 0x84 right_shift = 0x85 right_alt = 0x86 right_gui = 0x87 up_arrow = 0xDA down_arrow = 0xD9 left_arrow = 0xD8 right_arrow = 0xD7 backspace = 0xB2 tab = 0xB3 enter = 0xB0 esc = 0xB1 insert = 0xD1 delete = 0xD4 page_up = 0xD3 page_down = 0xD6 home = 0xD2 ["end"] = 0xD5 caps_lock = 0xC1 f1 = 0xC2 f2 = 0xC3 f3 = 0xC4 f4 = 0xC5 f5 = 0xC6 f6 = 0xC7 f7 = 0xC8 f8 = 0xC9 f9 = 0xCA f10 = 0xCB f11 = 0xCC f12 = 0xCD F1 = 0xC2 F2 = 0xC3 F3 = 0xC4 F4 = 0xC5 F5 = 0xC6 F6 = 0xC7 F7 = 0xC8 F8 = 0xC9 F9 = 0xCA F10 = 0xCB F11 = 0xCC F12 = 0xCD
Пример использования клавиатуры
Код --lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end hw.set_delay_key (20) -- установить паузу между нажатиями клавиш клавиатуры hw.set_random_delay_key(10) -- установить рандом между нажатием и отпускание клавиш от 0 до 9 мсек -- т. е. между нажатием и отпусканием клавиши будет пауза от 20 до 29 мсек
wait (3000) -- пауза 3 секунды чтобы переключиться на нужное окно hw.key ('k') -- нажать клавишу 'k' hw.key (hw.enter) -- нажать 'Enter'
wait (1000) -- пауза 1 сек.
hw.key_down ('s') -- зажать клавишу 's' wait (3000) -- пауза 3 сек., при этом клавиша будет зажата hw.key_up ('s') -- отпустить клавишу 's' hw.key (hw.enter) -- нажать 'Enter'
hw.text ('Hello Привет') -- напечатать текст hw.key ('V') -- нажать Shift+'v' Пример использования мыши
Код --lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки end_script () end hw.set_delay_mouse (20) -- установить паузу между нажатиями клавиш мыши hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек -- т. е. между нажатием и отпусканием кнопки мыши будет пауза от 20 до 29 мсек. hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
hw.mouse.left (200, 100) -- клик левой кнопкой мыши в координатах 200, 100 hw.mouse.right (200, 100) -- клик правой кнопкой мыши wait (3000) -- пауза 3 секунды hw.mouse.left_dbl (35, 35) -- двойной клик левой кнопкой мыши wait (2000) hw.mouse.left_down (200, 200) -- зажать левую кнопку мыши wait(500) hw.mouse.left_up (900, 300) -- отпустить левую кнопку мыши Сообщение отредактировал cirus - 11.7.2023, 2:17
|
|
|
|
|
|
Ответов
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 порту? (у меня не получилось)
|
|
|
|
Сообщений в этой теме
cirus Arduino 14.12.2020, 0:24 DarkMaster Описание требований к арудино/закидывание скетчей ... 14.12.2020, 1:22 Fors1k На случай если будет лень вбивать vid и pid:
--lua... 17.12.2020, 18:38 KotMC Скачал UO Pilot v2.41 (31.12.2018),Скетч и модуль ... 10.1.2021, 0:42 cirus Ардуино micro или leonardo?
Номер порта ардуино пр... 10.1.2021, 0:57 KotMC pro micro.
Если использовать этот скрипт
--lua
lo... 10.1.2021, 1:19 cirus
Значит порт недоступен для открытия. Попробуйте с... 10.1.2021, 2:00 KotMC Совершенно верно, все работает. Только не на этом ... 10.1.2021, 2:11 cirus
text вместо key. 10.1.2021, 2:13 kyja Подскажите как Arduino работает для виртуалок то е... 14.1.2021, 15:59 cirus
Без понятия. Команды Arduino получает через com п... 14.1.2021, 17:17 KotMC Отрабатывает один раз, при повторном запуске UO Pi... 18.1.2021, 1:28 DarkMaster Если во втором скрипте раскомментировать:
Проблем... 18.1.2021, 1:41 KotMC Если во втором скрипте раскомментировать:
--hw.mo... 18.1.2021, 8:34 cirus
По какой-то причине порт не закрывается. В резуль... 18.1.2021, 1:45 DarkMaster
Хм... А можно как-то закрыть порт без ребута желе... 18.1.2021, 4:21 cirus
Пилот надо перезапускать в таких случаях. Порт от... 18.1.2021, 13:16 KotMC
Пилот надо перезапускать в таких случаях. Порт от... 18.1.2021, 21:48 KotMC
KotMC, этот файл в папку с пилотом закиньте
Эт... 19.1.2021, 23:06 cirus Попробуйте другие драйвера, они могут отличаться. 18.1.2021, 22:06 KotMC Перепробовал много разных драйверов результат один... 19.1.2021, 3:17 cirus
Тут и стараться не надо. Остановка скрипта при от... 19.1.2021, 3:39 cirus
Можно. И не только в пилоте, а любой другой прогр... 19.1.2021, 23:46 KotMC Про Arduino.dll понятно, а модуль Arduino.lua из ... 20.1.2021, 0:17 cirus
Только вывод в лог добавлен. 20.1.2021, 0:36 cirus
hw.com = 3 -- 3й порт 1.2.2021, 1:42 kyja
hw.com = 3 -- 3й порт
Большое спасибо 1.2.2021, 1:49 kyja Подскажите а как используя Arduino.dll
отправить н... 9.2.2021, 22:21 Fors1k
обычные буквы вообще не понял
hw.key ('k... 10.2.2021, 0:05 kyja --lua
local ffi = require("ffi"... 10.2.2021, 0:20 KotMC
Если не ошибаюсь здесь ответ. 10.2.2021, 0:44 kyja
Если не ошибаюсь здесь ответ.
Это мышка с ней пр... 10.2.2021, 0:52 KotMC Сайт ардуино отправляет к этой табличке asciitable... 10.2.2021, 1:11 Fors1k Сейчас установлю arduino, попробую dll. 10.2.2021, 1:16 Fors1k Пробуйте. cirus придёт, может что подправит.
--lua... 10.2.2021, 1:41 cirus
Можно так сделать:
local enter = 0xB0
function _k... 10.2.2021, 2:00 kyja Спасибо да табличка с кодами решила проблемы а fun... 10.2.2021, 23:13 kyja Подскажите почему может не срабатывать рандом смеш... 19.2.2021, 0:50 cirus
Потому что они все неправильные.
--lua
math.rando... 19.2.2021, 1:46 KotMC Скажите, а такое написание:
hw.mouse.move (arr[1... 20.2.2021, 19:48 Madeus hw.mouse.move (arr[1][1] + mat... 20.2.2021, 20:30 DarkMaster
И да и нет. Распределение будет близко к нормальн... 21.2.2021, 3:14 KotMC "Вернулась" проблема с не закрытием порт... 22.2.2021, 23:50 cirus Нужен минимальный код, который приводит к зависани... 23.2.2021, 0:15 KotMC А зачем нам вообще этот драйвер из шапки, если у н... 23.2.2021, 0:19 kyja Тоже периодически сталкивался с зависаниями но у м... 23.2.2021, 12:03 cirus
--lua
local hw = require'arduino'
hw.com ... 23.2.2021, 12:24 kyja
--lua
local hw = require'arduino'
hw.com ... 25.2.2021, 11:50 KotMC При работе через модуль луа такая конструкция рабо... 23.2.2021, 12:36 KotMC Сам спросил, сам отвечу для моего применения можно... 23.2.2021, 13:02 cirus
Потому что надо передавать координаты, в которых ... 23.2.2021, 13:02 KotMC "Обрамил" всё что возможно выводом в лог... 23.2.2021, 17:11 cirus
В файле arduino.lua в строке mouse_pos('abs... 25.2.2021, 12:05 Madeus Замечена такая проблема, если подключать arduino п... 8.4.2021, 20:50 cirus Выкладывайте код, который вызывает ошибку. 9.4.2021, 1:34 Madeus
Выкладывайте код, который вызывает ошибку.
--lua... 9.4.2021, 1:54 cirus Обновил архив в первом посте, теперь не должно быт... 9.4.2021, 2:39 Madeus
Обновил архив в первом посте, теперь не должно бы... 9.4.2021, 12:28 kyja
"Обрамил" всё что возможно выводом в ло... 6.5.2021, 0:55 KotMC
[quote name='kyja' post='441030' date='6.5.2021, ... 6.5.2021, 20:56 kyja
1 раз из 100, пилот "вешается"
У вас с... 6.5.2021, 21:23 KotMC
У вас скрипт работает в одной вкладке или наприме... 7.5.2021, 19:44 kyja Подскажите пожалуйста можно ли каким то образом не... 31.7.2021, 1:24 cirus
Нельзя. 31.7.2021, 1:36 kyja
Нельзя.
Понял, спасибо 31.7.2021, 1:36 Crocotea В свзяи с чем может быть проблема?
в диспетчере ус... 19.8.2021, 20:47 cirus Приведённый код работает. 20.8.2021, 1:38 kyja Подскажите как определить зажатие клавиш при испол... 24.8.2021, 12:35 cirus
--lua
local ffi = require("ffi")
... 24.8.2021, 13:11 kyja
[code]--lua
local ffi = require("ffi... 29.8.2021, 23:55 kyja Большое спасибо 24.8.2021, 15:25 1dark1 Привет.
Можете сказать как правильно составить ком... 5.10.2021, 12:38 cirus В файле arduino.lua можно посмотреть что отправляе... 5.10.2021, 13:01 1dark1
echo 5++19660700>COM7
Переместит курсор на 3... 5.10.2021, 21:27 cirus
echo 025>COM7
02 - установить паузу между каж... 6.10.2021, 1:40 1dark1 Спасибо за пояснения 6.10.2021, 16:47 Kangoshi А как нажимать кнопки с numpad'а? Есть что-то ... 10.11.2021, 0:43 cirus
Можно добавить в файл arduino.lua:
export_array.K... 10.11.2021, 1:57 Joaquin Добрый день. В первом посте написано, что работает... 4.12.2021, 14:02 Madeus Ctrl + A или findwindow, workwindow. Примеры тут 4.12.2021, 17:46 kyja Подскажите пожалуйста почему происходит клик в 2 т... 18.2.2022, 0:37 kdv Вроде все делал как надо, но : 11.3.2022, 17:36 cirus Нужна плата с контролером ATmega32u4. 12.3.2022, 1:43 kdv А работа с другими платами возможна с uopilot?
У м... 12.3.2022, 9:34 cirus
Дело не в пилоте, а в том что только платы с ATme... 12.3.2022, 10:03 kdv Печально :( 12.3.2022, 10:50 DarkMaster
Cockney мне вроде объяснял, что можно и на другой... 17.3.2022, 22:32 cirus
Проще купить нужную железку. 18.3.2022, 1:42 kdv Добрый вечер, продолжил эпопею с Arduino. Она зара... 13.5.2022, 20:24 Madeus В цикле while, for. 13.5.2022, 22:17 kdv
В цикле while, for.
Попробовал FOR
for #i 1 10
... 14.5.2022, 10:04 DarkMaster Потому что синтаксис должен быть Lua.
--lua
for i ... 14.5.2022, 12:44 kdv
Потому что синтаксис должен быть Lua.
--lua
for i... 14.5.2022, 15:19 DarkMaster
Да. 14.5.2022, 17:20 Gals Я пока не понимаю ничего в arduino.
И совсем не по... 24.8.2022, 10:39 DarkMaster Это бы лучше у ардуинщиков спросить. Цена вопроса ... 25.8.2022, 13:37 Madeus На 11 винде кто-то пользуется? Перебрал кучу дров ... 9.2.2023, 22:25 Gwyn Я так понял ардуино не умеет в мультиоконку и може... 10.4.2023, 17:37
2 страниц 1 2 >
58 чел. читают эту тему (гостей: 58, скрытых пользователей: 0)
Пользователей: 0
|
|