• XSS.stack #1 – первый литературный журнал от юзеров форума

кто разбирается в ардуино помогите!

maloy

HDD-drive
Пользователь
Регистрация
17.06.2021
Сообщения
49
Реакции
-1
Писал код в ардуино для bad usb вот сам код
C++:
#include <Keyboard.h>

void setup() {
  // put your setup code here, to run once:
  // Инициализируем клавиатуру
  Keyboard.begin();
  // Нажимаем win на левой стороне клавиатуры, чтобы построить
  Keyboard.press(KEY_LEFT_GUI);
  // Задержка заставляет систему реагировать
  delay(500);
  // Нажимаем клавишу r
  Keyboard.press('r');
  delay(100);
  // Отпускаем две кнопки
  Keyboard.releaseAll();
  // Включить верхний регистр, чтобы запретить китайский метод ввода
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  delay(200);
  // Вводим CMD
  Keyboard.println("CMD");
    delay(300);
  //Войти
  Keyboard.press(KEY_RETURN);
 
  Keyboard.release(KEY_RETURN);
}

void loop() {

 
}

Но выходит ошибка
Arduino: 1.8.17 Hourly Build 2021/09/06 02:33 (Windows 10), Плата:"Arduino Leonardo"

Скетч использует 5424 байт (18%) памяти устройства. Всего доступно 28672 байт.

Глобальные переменные используют 230 байт (8%) динамической памяти, оставляя 2330 байт для локальных переменных. Максимум: 2560 байт.

processing.app.debug.RunnerException

at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:152)

at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)

at processing.app.SketchController.upload(SketchController.java:732)

at processing.app.SketchController.exportApplet(SketchController.java:703)

at processing.app.Editor$UploadHandler.run(Editor.java:2061)

at java.lang.Thread.run(Thread.java:748)

Caused by: processing.app.SerialException: Ошибка создания последовательного порта "COM1"

at processing.app.Serial.touchForCDCReset(Serial.java:107)

at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:136)

... 5 more

Caused by: jssc.SerialPortException: Port name - COM1; Method name - openPort(); Exception type - Port busy.

at jssc.SerialPort.openPort(SerialPort.java:164)

at processing.app.Serial.touchForCDCReset(Serial.java:101)

... 6 more

Произошла ошибка при загрузке скетча



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Помогите пожалуйста как исправить
 
> SerialException: Ошибка создания последовательного порта "COM1"

Проверь соединение, правильно ли выбран COM порт? У Leonardo 2 порта
Правильная ли скорость установлена?
 
Com 1 это как правило на Винде дефолтный порт, вытащи Ардуино и посмотри пропал он или нет, если нет то дрова не стоят или стоят криво
 
Attiny85 это процессор. Плата (вероятнее всего) называется Digispark (Default - 16.5 Mhz)

Из описания на aliexpress
Кабель Evil Crow-это устройство BadUSB на базе микроконтроллера Attiny85 с включенной линией передачи данных. Дополнительные сведения см. В следующем репозитории:


Почитай, прошивка девайса начнается здесь

Я не знаю что ты купил, (имею в виду есть ли на плате bootloader, а может прошивка уже загружена и надо только скинуть payload),
Думаю что этот репозиторий поможет тебе разобраться

Update:
Есть более актуальный репозиторий:
 
я переписал
C++:
void setup() {
  // don't need to set anything up to use DigiKeyboard
    DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_RIGHT); //Windows + R
    DigiKeyboard.delay(20); // Задержка 20 ms
    DigiKeyboard.println("bot')"); //Основная команда
    DigiKeyboard.sendKeyStroke(KEY_ENTER); //Enter
}


void loop() {

}

но теперь ардуино не видет usb
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)
> Please plug in the device ...
> Press CTRL+C to terminate the program.
> Device search timed out
 
C++:
#include <DigiKeyboard.h>


void setup() {
    //В setup у нас вводится код, который будет выполняться только один раз при каждом подключении кабеля
    delay(5000); //Задержка в 5 секунд (5000 ms), чтобы кабель не начинал сразу выполнять действия (если не сделать - будет не удобно прошивать его)
    DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_RIGHT); //Windows + R
    DigiKeyboard.delay(1000); // Задержка 1000 ms
    DigiKeyboard.print("cmd"); //Вводим то, что будем открывать (можно без .exe)
    DigiKeyboard.sendKeyStroke(KEY_ENTER); //Жмём Enterr 
}

void loop() {
  //Тут вводим код, который должен будет выполняться постоянно в цикле
}
1635921640804.png
а это он пишет в консоли

хотя в командной строке написано
running: 100% complete
>> Micronucleus done. Thank you!
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх