Здравствуйте, гость ( Вход | Регистрация )

> Arduino, Нажатия мыши и клавиатуры в обход защиты от кликеров
cirus
сообщение 14.12.2020, 0:24
Сообщение #1


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26420
Пользователь №: 16.971
Возраст: 29



Скетч и модуль lua:    Прикрепленный файл  Arduino.zip ( 7,33 килобайт ) Кол-во скачиваний: 148045
Драйвер для ардуино: Прикрепленный файл  CH341SER.zip ( 185,9 килобайт ) Кол-во скачиваний: 147122

Arduino позволяет эмулировать нажатия клавиш клавиатуры и мыши, в том числе в приложениях, которые блокируют нажатия кликеров.
Может поворачивать камеру в шутерах и играх, в которых камера поворачивается с зажатой правой кнопкой мыши.
Дополнительная информация по обходу защиты в 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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
cirus   Arduino   14.12.2020, 0:24
cirus   Железка стоит 5$. А мышь с макросами? Как из...   10.4.2023, 20:53
cirus   Никогда ничего не паял и не собираюсь. Подключил ...   10.4.2023, 22:06
Cockney   Никогда ничего не паял и не собираюсь. Подключил ...   10.4.2023, 22:25
cirus   Для эмуляции мыши и клавы этого достаточно.   10.4.2023, 22:56
Cockney   Да, но сам комфорт использования...так и ssd диск ...   14.4.2023, 21:19
DarkMaster   Тяжело представляю зачем этот девайс нужно таскать...   15.4.2023, 7:54
Madeus   Тяжело представляю зачем этот девайс нужно таскат...   15.4.2023, 8:52
kyja   Кстати 11 винду так и не победил, пока идеи кончи...   4.7.2023, 23:29
Madeus   А не работает просто не выполняется код в пилоте ...   5.7.2023, 9:27
SkyRA   Привет, далек от всего этого, у меня лишь вопрос, ...   7.5.2023, 15:57
DarkMaster   У вас появляется новый метод эмуляции. Подробнее м...   10.5.2023, 16:01
DarkMaster   А в чистом луа пробовал запускать? Без пилота. Ту...   5.7.2023, 19:56
Madeus   А в чистом луа пробовал запускать? Без пилота. Ту...   5.7.2023, 21:33
DarkMaster   А если поставить эмулятор ком портов и попробовать...   6.7.2023, 17:15
DarkMaster   librs232lua вот такая либа еще есть для ком портов...   6.7.2023, 19:36
Madeus   librs232lua вот такая либа еще есть для ком порто...   6.7.2023, 20:59
DarkMaster   а нормальным методом не моргала? эмуляцию при этом...   8.7.2023, 3:16
Madeus   а нормальным методом не моргала? эмуляцию при это...   8.7.2023, 11:19
DarkMaster   Открывает отправку данных в порт в бинарном режим...   8.7.2023, 16:28
DarkMaster   А через мой дебаг запускал? На какой строке в ardu...   8.7.2023, 17:23
Madeus   А через мой дебаг запускал? На какой строке в ard...   8.7.2023, 23:30
DarkMaster   порт открыть он не может. Попробуй ручками дописат...   9.7.2023, 16:49
Madeus   порт открыть он не может. Попробуй ручками дописа...   9.7.2023, 18:27
DarkMaster   хочу предостеречь про \\.\ - без эт...   10.7.2023, 16:16
DarkMaster   попробуй такой префикс: \\\\....   10.7.2023, 17:17
Madeus   \\\\.\\ Так же работ...   10.7.2023, 18:23
DarkMaster   Это была ошибка изначально. Там должно быть вообще...   10.7.2023, 18:41
Kangoshi   Это была ошибка изначально. Там должно быть вообщ...   23.7.2023, 0:23
DarkMaster   извездочка подразумевалась под замену номером порт...   23.7.2023, 22:49
Kangoshi   Коды не те, но я нашёл вот тут. Для / и * с нумпад...   24.7.2023, 19:34
Madeus   Коды не те, но я нашёл [url=https://forum.arduino...   24.7.2023, 20:20
Kangoshi   hw.key(hw.end) или hw.key(hw['end']) 1 в...   25.7.2023, 13:36
zOrky   Здравствуйте. Все сделал как в инструкции на 1 стр...   19.11.2023, 18:34
DarkMaster   там два дефиса должно быть. --lua пилот должен б...   20.11.2023, 6:54
dkostia   Подскажите, а есть может видео где понять как это ...   27.9.2024, 10:19
dkostia   А получается что в один момент можно отправить тол...   13.10.2024, 18:54
DarkMaster   Всмысле? А зачем тут второй пилот? -- task.add...   13.10.2024, 20:55
Zenogiasu   Здравствуйте. А смог кто-нибудь на гипер-в ген2 пр...   4.4.2025, 21:28
Zenogiasu   Авантрюристы приветствую. Правильно ли я пониваю, ...   17.4.2025, 21:09
DarkMaster   hw.set_offset_mousemove(1+math.random (5)) это нуж...   18.4.2025, 15:29
Zenogiasu   hw.set_offset_mousemove(1+math.random (5)) это ну...   20.4.2025, 20:12
DarkMaster   код привидите. и подробно опишите, что есть ...   20.4.2025, 20:53
Zenogiasu   код привидите. и подробно опишите, что есть ...   20.4.2025, 21:01
Zenogiasu   код привидите. и подробно опишите, что есть ...   20.4.2025, 23:11
DarkMaster   очень сомневаюсь, что детектится именно ардуино. ...   20.4.2025, 22:33
DarkMaster   я бы 1 не ставил. по крайней мере пока не поймете...   21.4.2025, 7:02
kyja   Вообще по опыту лучше всего устанавливать их в сам...   22.4.2025, 22:52
Zenogiasu   Вообще по опыту лучше всего устанавливать их в са...   23.4.2025, 14:22
kyja   В целом вы можете еще доработать сам фаил arduino....   23.4.2025, 21:40
IgeMoN   Товарищи! Помогите разобраться пожалуйста...   28.5.2025, 7:23
DarkMaster   время между down/up увеличьте, так же можете рандо...   28.5.2025, 13:03
IgeMoN   время между down/up увеличьте, так же можете ранд...   28.5.2025, 16:03
DarkMaster   Плата лишней не будет точно. Вещь это хорошая.   28.5.2025, 16:19
Drugan   Товарищи! Вики не работает!? Кто нибудь вк...   4.6.2025, 3:15
DarkMaster   спасибо. Сейчас сообщу админу.   4.6.2025, 11:31
Gorilla   спасибо. Сейчас сообщу админу. Заработало!...   5.6.2025, 14:18
Drugan   как пост удалить?) я сначала спросил а потом разоб...   6.6.2025, 15:10
DarkMaster   справа снизу поста кнопка "удалить"   6.6.2025, 15:34
Madison   Доброго времени суток. Может кто подсказать. Есть ...   5.7.2025, 23:04
DarkMaster   Так а виснет то что именно?   5.7.2025, 23:43
Madison   Так а виснет то что именно? Виснет как будто пил...   5.7.2025, 23:56
DarkMaster   https://forum.uokit.com/index.php?s=&sh...st...   6.7.2025, 0:06
Madison   https://forum.uokit.com/index.php?s=&sh...st...   6.7.2025, 14:56
DarkMaster   У меня железки нет, сказать сложно. Попробуй мой д...   10.7.2025, 0:16
2 страниц V < 1 2


Ответить в эту темуОткрыть новую тему
79 чел. читают эту тему (гостей: 79, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 3.9.2025, 10:57
Designed by Nickostyle