Отслеживание нажатий клавиатуры arduino

Клавиатурный шпион на ESP8266

Что это?

Хотелось ли вам когда нибудь пошпионить за вашим другом, соседом или коллегой по работе? Узнать что он или она так внимательно печатает и почему из за этого радуется или наоборот нервничает. Теперь это возможно с помощью клавиатурного шпиона. Суть его довольна проста: он перехватывает данные с USB-клавиатуры и раздаёт их по Wi-Fi. Всё что надо сделать это подключить его между клавиатурой и компьютером. А потом зайти на созданный сервер и шпионить.

Статья носит образовательный характер и демонстрирует возможность беспроводной передачи данных с использованием Wi-Fi модуля. Описанное в качестве примера устройство не производится и не продается компанией Амперка.

Вы не можете использовать подобное устройство для негласного сбора данных в соответствии со статьёй 138 УК РФ.

Что нам понадобится?

Настройка и прошивка платы ESP8266

ESP8266 — это непросто WI-FI шилд, это высоко интегрированный микроконтроллер со своим набором интерфейсов.

С базовой прошивкой плата ESP8266 используется в виде моста UART ↔ WIFI и управляется с помощью AT-команд. В нашем проекте такая прошивка не имеет смысла, так как модуль сам независимо может работать без дополнительных микроконтроллеров, если в него загрузить другую прошивку. Прошить модуль можно с помощью USB-Serial адаптера. Подробное описание, как это сделать, мы оформили в отдельную статью.

Загрузка скетча

Модуль ESP8266 будет создавать TCP-сервер и передавать на него данные о нажатых клавишах клавиатуры, полученные через Serial соединение с платой Iskra Mini. Реализацию такого моста вы можете найти среди стандартных примеров из библиотеки ESP8266.

Для этого зайдите в меню: Файл Образцы ESP8266WIFI WiFiTelnetToSerial и загрузите в плату ESP8266 открывшийся скетч, предварительно указав вместо звёздочек имя и пароль Wi-Fi сети, к которой необходимо подключиться нашей ESP-шке.

При прошивке на плате ESP8266 будет мигать синий светодиод. Плата прошита теперь можно приступать к сборке устройства.

Как собрать?

Алгоритм

Исходный код

Так как данные передается на очень высокой скорости, то для его захвата и анализа используются ассемблерные вставки, которые подключаются с помощью библиотеки V-USB, которая в своем составе содержит функции приема и обработки USB сигнала.

Подключения к шпиону

Данные захваченные с USB-шины и отправленные на TCP-сервер можно посмотреть любой терминальной программой поддерживающей сетевой протокол TELNET.

Поиск IP-адреса

Для подключения к модулю ESP8266 необходимо знать IP-адрес платы в локальной сети.

При динамической адресации (DHCP) маршрутизатор может менять IP-адрес при каждом включении платы. В таком случае вам каждый раз придётся повторять поиск IP-адреса.

Подключение к серверу

Демонстрация работы устройства

Что дальше?

В нашем проекте устройство вынесено наружу. Если хотите получить полный шпионаж, подарите своей будущей жертве клавиатуру с уже встроенным устройством и тогда уже никто не сможет вас вычислить.

В обработки пришедших байтов мы считываем только одну нажатую в данный момент клавишу. Это можно исправить добавив некоторые изменения в скетч и вычислять до 5 нажатых одновременно клавиш.

Источник

SavePearlHarbor

Ещё одна копия хабора

Клавиатурный шпион на Arduino

Предисловие

Стоит сказать, что область применение данного устройства не так уж и велика. Для работы это мониторинг, контроль за рабочим временем, защита от утечки информации и, наверное, всё.

В быту эта вещь может хорошо облегчить жизнь. Например, нажали определённое сочетание клавиш — Arduino их распознало и… послало сигнал включить чайник. Если не чайник, то что-нибудь другое.

Но всё же, это банальное слежение (возможно, даже скрытое) за сотрудником, что с моральной точки зрения не есть хорошо. Но всё же, юридическая справка даёт «добро», если это прописано в трудовом договоре, если этот мониторинг происходит в трудовое время и на рабочем месте и если, конечно, сотрудник проинформирован и поставил свою галочку.

Ну а в личной жизни вы вольны делать всё, что захочется, пока это касается вашей собственности.

Всё, юридически мы защищены, теперь я расскажу и покажу, что нам необходимо и как собрать вместе, чтобы получился простой перехватчик нажатий клавиш с клавиатуры.

Начнём

Итак, нам понадобится десяток проводов и две платы:

Почему Arduino Leonardo? Потому что она относительно дешёвая и в отличие от своих предшественников на ATmega32u4 имеет встроенную поддержку для USB соединения.

USB протокол определяет два типа устройств: хост (master, server) и периферия (slave, client). USB Host Shield управляет периферийными устройствами и обеспечивает их питанием. Например, когда вы подключаете клавиатуру к ПК, то ПК — это хост, который управляет клиентом, а клиент, в данном случае, — клавиатура.

А поддерживаемой перифирии довольно много. Самые интересные из них это:

1) HID устройства: клавиатура, мышь, джойстик и т. д.
2) Игровые контроллеры
3) ADK-совместимые Android телефоны и планшеты.

А за более подробной информацией прошу на официальный сайт.

В нашем случае – это клавиатура. Она относится к классу HID устройств. HID код для клавиатуры кодируется 8 байтами:

1) 1 байт – каждый бит соответствует своему модификатору (L Ctrl, R Ctrl, L Shift, R Shift и т. д.).
2) 2 байт – зарезервирован и нам не нужен, обычно он занулён.
3) 3-8 байты – содержат коды 6ти клавиш.

Более подробно об этом можно почитать здесь.

Всё, с теорией покончено, теперь можно и схему собрать.

Кстати, очень удобная программа для рисования схем, в которой и была нарисована эта схема, здесь.

Теперь стоит пояснить, что к чему.

У Arduino Leonardo есть небольшая особенность из-за которой мы не можем просто подключить её сверху: SPI разъёмы расположены на ICSP (те 6 разъёмов посередине справа) и из-за этого их приходится выводить на цифровые разъёмы USB Host Shield.

1) Жёлтый провод: пин 4 MOSI (подключён к 11 пину на USB Host shield).
2) Серый провод: пин 1 MISO (подключён к 12 пину на USB Host shield).
3) Зелёный провод: пин 3 SCK (подключён к 13 пину на USB Host shield).

Обеспечиваем питание нижними пятью проводами и одним фиолетовым:

1) Reset к Reset
2) 3.3V к 3.3V
3) 5V к 5V
4) GND к GND
5) VIN к VIN
6) Reset к D7

Теперь нам нужно подключить управляющие пины:
1) D7 к D7
2) D10 к D10

Это необходимый минимум, чтобы заставить её работать.

Так, схема есть, теперь нам нужно её как-то запрограммировать и это делается с помощью IDE от Arduino. Она совершенно бесплатна и находится в открытом доступе. Примеры программ и саму IDE можно найти на официальном сайте.

Для работы с USB Host Shield нам понадобится дополнительная библиотека (здесь).

Сам код максимально прост:

Осталось только подключить через USB Arduino к ПК, а клавиатуру к USB Host Shield, загрузить программу на Arduino при помощи IDE и всё! Key Catcher готов!

1) Arduino даёт множество возможностей при своей низкой цене и множеству разнообразных модулей и датчиков.
2) Данное устройство может позволить превратить вашу клавиатуру в пульт управления, например, телевизором, электрочайником, лампой, только докупить пару модулей придётся.

Источник

Клавиатурный шпион на Arduino

Предисловие

Стоит сказать, что область применение данного устройства не так уж и велика. Для работы это мониторинг, контроль за рабочим временем, защита от утечки информации и, наверное, всё.

В быту эта вещь может хорошо облегчить жизнь. Например, нажали определённое сочетание клавиш — Arduino их распознало и… послало сигнал включить чайник. Если не чайник, то что-нибудь другое.

Но всё же, это банальное слежение (возможно, даже скрытое) за сотрудником, что с моральной точки зрения не есть хорошо. Но всё же, юридическая справка даёт «добро», если это прописано в трудовом договоре, если этот мониторинг происходит в трудовое время и на рабочем месте и если, конечно, сотрудник проинформирован и поставил свою галочку.

Ну а в личной жизни вы вольны делать всё, что захочется, пока это касается вашей собственности.

Всё, юридически мы защищены, теперь я расскажу и покажу, что нам необходимо и как собрать вместе, чтобы получился простой перехватчик нажатий клавиш с клавиатуры.

Начнём

Итак, нам понадобится десяток проводов и две платы:

Почему Arduino Leonardo? Потому что она относительно дешёвая и в отличие от своих предшественников на ATmega32u4 имеет встроенную поддержку для USB соединения.

USB протокол определяет два типа устройств: хост (master, server) и периферия (slave, client). USB Host Shield управляет периферийными устройствами и обеспечивает их питанием. Например, когда вы подключаете клавиатуру к ПК, то ПК — это хост, который управляет клиентом, а клиент, в данном случае, — клавиатура.

А поддерживаемой перифирии довольно много. Самые интересные из них это:

1) HID устройства: клавиатура, мышь, джойстик и т. д.
2) Игровые контроллеры
3) ADK-совместимые Android телефоны и планшеты.

А за более подробной информацией прошу на официальный сайт.

В нашем случае – это клавиатура. Она относится к классу HID устройств. HID код для клавиатуры кодируется 8 байтами:

1) 1 байт – каждый бит соответствует своему модификатору (L Ctrl, R Ctrl, L Shift, R Shift и т. д.).
2) 2 байт – зарезервирован и нам не нужен, обычно он занулён.
3) 3-8 байты – содержат коды 6ти клавиш.

Более подробно об этом можно почитать здесь.

Всё, с теорией покончено, теперь можно и схему собрать.

Кстати, очень удобная программа для рисования схем, в которой и была нарисована эта схема, здесь.

Теперь стоит пояснить, что к чему.

У Arduino Leonardo есть небольшая особенность из-за которой мы не можем просто подключить её сверху: SPI разъёмы расположены на ICSP (те 6 разъёмов посередине справа) и из-за этого их приходится выводить на цифровые разъёмы USB Host Shield.

1) Жёлтый провод: пин 4 MOSI (подключён к 11 пину на USB Host shield).
2) Серый провод: пин 1 MISO (подключён к 12 пину на USB Host shield).
3) Зелёный провод: пин 3 SCK (подключён к 13 пину на USB Host shield).

Обеспечиваем питание нижними пятью проводами и одним фиолетовым:

1) Reset к Reset
2) 3.3V к 3.3V
3) 5V к 5V
4) GND к GND
5) VIN к VIN
6) Reset к D7

Теперь нам нужно подключить управляющие пины:
1) D7 к D7
2) D10 к D10

Это необходимый минимум, чтобы заставить её работать.

Так, схема есть, теперь нам нужно её как-то запрограммировать и это делается с помощью IDE от Arduino. Она совершенно бесплатна и находится в открытом доступе. Примеры программ и саму IDE можно найти на официальном сайте.

Для работы с USB Host Shield нам понадобится дополнительная библиотека (здесь).

Сам код максимально прост:

Осталось только подключить через USB Arduino к ПК, а клавиатуру к USB Host Shield, загрузить программу на Arduino при помощи IDE и всё! Key Catcher готов!

1) Arduino даёт множество возможностей при своей низкой цене и множеству разнообразных модулей и датчиков.
2) Данное устройство может позволить превратить вашу клавиатуру в пульт управления, например, телевизором, электрочайником, лампой, только докупить пару модулей придётся.

Источник

Клавиатурный шпион на Arduino

Предисловие

Стоит сказать, что область применение данного устройства не так уж и велика. Для работы это мониторинг, контроль за рабочим временем, защита от утечки информации и, наверное, всё.

В быту эта вещь может хорошо облегчить жизнь. Например, нажали определённое сочетание клавиш — Arduino их распознало и… послало сигнал включить чайник. Если не чайник, то что-нибудь другое.

Но всё же, это банальное слежение (возможно, даже скрытое) за сотрудником, что с моральной точки зрения не есть хорошо. Но всё же, юридическая справка даёт «добро», если это прописано в трудовом договоре, если этот мониторинг происходит в трудовое время и на рабочем месте и если, конечно, сотрудник проинформирован и поставил свою галочку.

Ну а в личной жизни вы вольны делать всё, что захочется, пока это касается вашей собственности.

Всё, юридически мы защищены, теперь я расскажу и покажу, что нам необходимо и как собрать вместе, чтобы получился простой перехватчик нажатий клавиш с клавиатуры.

Начнём

Итак, нам понадобится десяток проводов и две платы:

Почему Arduino Leonardo? Потому что она относительно дешёвая и в отличие от своих предшественников на ATmega32u4 имеет встроенную поддержку для USB соединения.

USB протокол определяет два типа устройств: хост (master, server) и периферия (slave, client). USB Host Shield управляет периферийными устройствами и обеспечивает их питанием. Например, когда вы подключаете клавиатуру к ПК, то ПК — это хост, который управляет клиентом, а клиент, в данном случае, — клавиатура.

А поддерживаемой перифирии довольно много. Самые интересные из них это:

1) HID устройства: клавиатура, мышь, джойстик и т. д.
2) Игровые контроллеры
3) ADK-совместимые Android телефоны и планшеты.

А за более подробной информацией прошу на официальный сайт.

В нашем случае – это клавиатура. Она относится к классу HID устройств. HID код для клавиатуры кодируется 8 байтами:

1) 1 байт – каждый бит соответствует своему модификатору (L Ctrl, R Ctrl, L Shift, R Shift и т. д.).
2) 2 байт – зарезервирован и нам не нужен, обычно он занулён.
3) 3-8 байты – содержат коды 6ти клавиш.

Более подробно об этом можно почитать здесь.

Всё, с теорией покончено, теперь можно и схему собрать.

Кстати, очень удобная программа для рисования схем, в которой и была нарисована эта схема, здесь.

Теперь стоит пояснить, что к чему.

У Arduino Leonardo есть небольшая особенность из-за которой мы не можем просто подключить её сверху: SPI разъёмы расположены на ICSP (те 6 разъёмов посередине справа) и из-за этого их приходится выводить на цифровые разъёмы USB Host Shield.

1) Жёлтый провод: пин 4 MOSI (подключён к 11 пину на USB Host shield).
2) Серый провод: пин 1 MISO (подключён к 12 пину на USB Host shield).
3) Зелёный провод: пин 3 SCK (подключён к 13 пину на USB Host shield).

Обеспечиваем питание нижними пятью проводами и одним фиолетовым:

1) Reset к Reset
2) 3.3V к 3.3V
3) 5V к 5V
4) GND к GND
5) VIN к VIN
6) Reset к D7

Теперь нам нужно подключить управляющие пины:
1) D7 к D7
2) D10 к D10

Это необходимый минимум, чтобы заставить её работать.

Так, схема есть, теперь нам нужно её как-то запрограммировать и это делается с помощью IDE от Arduino. Она совершенно бесплатна и находится в открытом доступе. Примеры программ и саму IDE можно найти на официальном сайте.

Для работы с USB Host Shield нам понадобится дополнительная библиотека (здесь).

Сам код максимально прост:

Осталось только подключить через USB Arduino к ПК, а клавиатуру к USB Host Shield, загрузить программу на Arduino при помощи IDE и всё! Key Catcher готов!

1) Arduino даёт множество возможностей при своей низкой цене и множеству разнообразных модулей и датчиков.
2) Данное устройство может позволить превратить вашу клавиатуру в пульт управления, например, телевизором, электрочайником, лампой, только докупить пару модулей придётся.

Источник

TypeRus
Adblock
detector