Початок роботи з Digispark
Додано: 13 березня 2025, 08:09
Digispark це невеликий мікроконтролер, який можна запрограмувати для виконання певних дій. Особливістю пристрою є його підключення до ПК – пристрій здатен імітувати комп’ютерну периферію: клавіатуру, мишку, джойстик. Через це плата стала широко використовуватися як для створення саморобної комп’ютерної периферії, так і для хакерських прийомів. Сьогодні я покажу, як встановити і налаштувати пристрій.
Перед цим мале-есеньке застереження: на більшості комп’ютерів інформаційні (середні) контакти USB-роз’ємів йдуть напряму в процесор. Замкнувши живлення на них можна легко спалити процесор. Будьте обережні як при роботі з Digispark, так і просто зі старими пошкодженими USB-кабелями.
Якщо на вашому комп’ютері Windows 10-11 і є лише USB 3.0 (або ще новіші) краще підключатися через USB 2.0 хаб. Якщо такого немає, перед встановленням драйверів зайдіть в UEFI і виставте USB3 – Disable (на деяких платах називається USB-2 Compatible, або xHCI). Після цього увімкніть Debug – Enable (або EHCI — Enable). І лише після цього встановлюйте драйвери. Якщо ви вже встановили драйвери то видаліть їх і почистіть реєстр. Або просто запишіть на флешку Linux і завантажтесь з неї, не встановлюючи.
Тепер натисніть кнопку Завантажити (Upload). Код скомпілюється і лише після цього, коли почне бігати стрічка «Завантаження» підключіть свою плату Digispark в USB-роз’єм. Якщо все зроблено правильно за кілька секунд код завантажиться в плату і на ній почне блимати раз на секунду світлодіод.
Такий фізичний ключ дозволить просто користуватися паролями не на одну сотню симоволів.
Якщо на вашому комп’ютері Windows 10-11 і є лише USB 3.0 (або ще новіші) краще підключатися через USB 2.0 хаб. Якщо такого немає, перед встановленням драйверів зайдіть в UEFI і виставте USB3 – Disable (на деяких платах називається USB-2 Compatible, або xHCI). Після цього увімкніть Debug – Enable (або EHCI — Enable). І лише після цього встановлюйте драйвери. Якщо ви вже встановили драйвери то видаліть їх і почистіть реєстр. Або просто запишіть на флешку Linux і завантажтесь з неї, не встановлюючи.
Підготовка до роботи з Digispark
- Перш за все завантажте і встановіть Arduino IDE. Це середовище програмування для плат Arduino і подібних платформ.
- В головному мені зайдіть в Файл –> Налаштування (File –> Settings). Внизу буде поле «Додаткові URL-адреси менеджера плат» («Additional boards manager URL’s»). Вставте там посилання http://drazzy.com/package_drazzy.com_index.json і натисніть Ок. Справа знизу з’явиться статус завантаження потрібних файлів. Лінія прогресу має дійти кінця.
- В меню заходимо в Інструменти -> Плата -> Менеджер плат (Tools –> Board –> Boards Manager). В рядку пошуку починаємо вводити digispark доки не знаходимо ATTinyCore. Встановлюємо. В процесі Windows може запитати дозвіл на встановлення драйверів для пристрою, погоджуємося.
- Тепер в Інструменти -> Плата (Tools –> Board) обираємо ATtiny85 (Micronucleus / DigiSpark)
Код: Виділити все
void setup()
{
//Set Pins 0 and 1 as outputs.
//Some Digisparks have a built-in LED on pin 0, while some have it on
//pin 1. This way, we can all Digisparks.
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
}
void loop()
{
//Set the LED pins to HIGH. This gives power to the LED and turns it on
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
//Wait for a second
delay(1000);
//Set the LED pins to LOW. This turns it off
digitalWrite(0, LOW);
digitalWrite(1, LOW);
//Wait for a second
delay(1000);
}Введення паролю Windows за допомогою Digispark
Одразу корисний приклад. Наприклад, ви відповідально відноситися до своїх даних і вигадали надійний пароль для входу у Windows більше ніж на 20 символів. Але безпека завжди незручна, вводити щоразу такий пароль незручно. Пишемо скетч для Digispark:Код: Виділити все
#include "DigiKeyboard.h" // підключаємо бібліотеку, що імітує роботу клавіатури
void setup() {
pinMode(1, OUTPUT); //LED on Model USB type A
}
void loop() {
DigiKeyboard.update(); //Підготовлюємо клавіатуру
DigiKeyboard.sendKeyStroke(0); //Надсилаємо порожнє значення null
DigiKeyboard.delay(3000); // Чекаємо 3 секунди перед введенням
DigiKeyboard.sendKeyStroke(KEY_ENTER); // Лише на Windows 10, перед введенням паролю там треба натиснути кнопку
DigiKeyboard.delay(2000); // Про всяк випадок чекаємо 2 секунди щоб напевно з’їхала заставка
DigiKeyboard.println("your password"); // ВСТАВТЕ ПОТРІБНИЙ ПАРОЛЬ СЮДИ
DigiKeyboard.delay(2000); // Чекаємо 2 секунди
digitalWrite(1, HIGH); // Вмикаємо LED коли дані надіслано
DigiKeyboard.delay(90000); // Дууууже довго чекаємо. Якщо все пройшло успішно, «клавіатура» просто почне раз в півтори хвилини друкувати ваш пароль, тож витягніть Digispark. Якщо щось пішло не за планом – цикл повториться знову.
}