|
Arduino, Нажатия мыши и клавиатуры в обход защиты от кликеров |
|
|
cirus |
14.12.2020, 0:24
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 27353
Пользователь №: 16.971
Возраст: 29
|
Скетч и модуль lua:
Arduino.zip ( 7,33 килобайт )
Кол-во скачиваний: 20301Драйвер для ардуино:
CH341SER.zip ( 185,9 килобайт )
Кол-во скачиваний: 20460Arduino позволяет эмулировать нажатия клавиш клавиатуры и мыши, в том числе в приложениях, которые блокируют нажатия кликеров. Может поворачивать камеру в шутерах и играх, в которых камера поворачивается с зажатой правой кнопкой мыши. Дополнительная информация по обходу защиты в 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
|
|
|
|
|
|
Ответов
Crocotea |
19.8.2021, 20:47
|
Novice
Сообщений: 51
Регистрация: 30.10.2020 Группа: Пользователи Наличность: 0
Пользователь №: 19.787
|
В свзяи с чем может быть проблема? в диспетчере устройств отображается корректно микро ком 8 в самом адруино выставил свою плату и порт Гет порт вписал свой из "получить инф о плате" Код 20:41:23 6 (test.txt, 0): a runtime error. 59: attempt to call field 'Key' (a nil value) --lua local hw = require 'arduino' hw.com = hw.get_port (2341, 8037) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('err Код --lua local hw = require 'arduino' hw.com = hw.get_port (2341, 8037) -- указать 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)
|
|
|
|
Сообщений в этой теме
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 kyja Подскажите пожалуйста как можно решить проблему кр... 28.1.2021, 1:32 kyja
Подскажите пожалуйста как можно решить проблему к... 1.2.2021, 1:28 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 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 >
28 чел. читают эту тему (гостей: 28, скрытых пользователей: 0)
Пользователей: 0
|
|