Flipper Zero отказывается выполнять скрипт BadUSB чаще всего по одной причине: файл сохранён не в той папке или содержит команду, которую прошивка не распознаёт. Проверить это можно за минуту — откройте на устройстве раздел Bad USB, найдите свой файл в списке и посмотрите, запускается ли он без ошибки синтаксиса. Если скрипт стартует, но ничего не происходит на компьютере, вероятная причина — слишком маленькая задержка DELAY между командами: система просто не успевает обработать эмулируемые нажатия клавиш.
В этой статье разберём, какие типы скриптов поддерживает Flipper Zero, как устроен язык Ducky Script, где хранятся файлы на SD-карте и как отладить скрипт, который не работает. Материал ориентирован на легальные сценарии: автоматизацию рутинных действий на собственном компьютере, тестирование своих систем и обучение.
Какие скрипты умеет выполнять Flipper Zero
Под «скриптами» в экосистеме Flipper обычно понимают несколько разных вещей, и важно сразу разделить их. Самый популярный формат — BadUSB-скрипты на языке Ducky Script: устройство подключается к компьютеру как USB-клавиатура и «печатает» заданную последовательность команд. Это текстовые файлы с расширением .txt, которые лежат в папке badusb на SD-карте.
Кроме этого, существуют сценарии для других модулей:
- 📟 Sub-GHz — файлы
.subс записанными радиосигналами, которые можно воспроизводить; - 💳 NFC и RFID — сохранённые дампы карт в форматах
.nfcи.rfid; - 🔌 GPIO — управление контактами через приложения из каталога, включая сценарии на JavaScript в поддерживаемых прошивках;
- 🖥️ JavaScript-приложения — на официальной прошивке доступен запуск JS-скриптов через соответствующее приложение, если оно установлено.
В этой статье основной фокус — на Ducky Script, поскольку именно с него начинают большинство пользователей. Принципы отладки и загрузки файлов при этом общие для всех форматов.
Подготовка: что понадобится перед написанием скрипта
Прежде чем писать первый скрипт, убедитесь, что устройство готово к работе. Необходима SD-карта, отформатированная в FAT32 — без неё Flipper не сможет хранить файлы скриптов. Также понадобится компьютер с любым текстовым редактором: подойдёт даже стандартный «Блокнот», но удобнее редактор с подсветкой синтаксиса, например Notepad++ или VS Code.
Файлы на карту удобнее всего загружать через официальное приложение qFlipper для Windows, macOS или Linux: оно позволяет перетаскивать файлы в нужные папки без извлечения карты. Альтернатива — вынуть SD-карту и подключить её к компьютеру через картридер.
☑️ Подготовка к написанию скрипта
⚠️ Внимание: используйте BadUSB-скрипты только на собственных компьютерах или системах, на тестирование которых у вас есть явное разрешение. Эмуляция клавиатуры для доступа к чужим устройствам без согласия владельца может нарушать законодательство вашей страны.
Синтаксис Ducky Script: базовые команды
Ducky Script — построчный язык: каждая строка файла — отдельная команда. Парсер читает файл сверху вниз и выполняет инструкции последовательно. Ошибка в одной строке обычно приводит к остановке всего скрипта, поэтому синтаксис нужно соблюдать строго.
Основные команды, которых достаточно для первых скриптов:
- ⌨️
STRING текст— печатает указанный текст, как будто его ввели с клавиатуры; - ⏱️
DELAY миллисекунды— пауза перед следующей командой; - ↵
ENTER— нажатие клавиши Enter; - 🪟
GUI r— комбинация Win+R на Windows (GUI обозначает клавишу Windows/Command); - 💬
REM текст— комментарий, строка игнорируется при выполнении.
Простейший пример — скрипт, открывающий «Блокнот» и печатающий строку:
REM Первый тестовый скрипт
DELAY 1000
GUI r
DELAY 500
STRING notepad
ENTER
DELAY 1000
STRING Privet ot Flipper Zero!
Обратите внимание на задержки: без DELAY после GUI r система может не успеть открыть окно «Выполнить», и текст набора уйдёт «в никуда». Если скрипт работает нестабильно, первым делом увеличьте паузы — это самая частая причина сбоев.
Раскладка клавиатуры: почему текст печатается неправильно
Частая проблема начинающих: скрипт печатает STRING, но на экране появляются не те символы — вместо кириллицы иероглифы, а знаки препинания съезжают. Причина в том, что Flipper эмулирует клавиатуру с определённой раскладкой, и она должна совпадать с раскладкой целевой системы.
Файлы раскладок хранятся на SD-карте в папке badusb/assets/layouts (точный путь может отличаться в зависимости от версии прошивки — сверьтесь с документацией вашей сборки). Перед запуском скрипта в меню Bad USB можно выбрать нужную раскладку. Если целевая система работает на русском, а скрипт рассчитан на английскую раскладку, результат будет непредсказуемым.
⚠️ Внимание: команда
STRINGпечатает только те символы, которые существуют в выбранной раскладке. Кириллический текст вSTRINGпри английской раскладке на устройстве и в системе чаще всего не сработает корректно — надёжнее использовать системные команды и латиницу.
Загрузка скрипта на устройство и запуск
Готовый файл сохраняется с расширением .txt и копируется в папку badusb на SD-карте. Через qFlipper это делается перетаскиванием файла в файловом менеджере приложения. После копирования файл появится в меню устройства без перезагрузки.
Порядок запуска на самом Flipper:
- 📂 Откройте на устройстве раздел
Bad USB; - 📄 Выберите нужный файл из списка;
- 🔌 Подключите Flipper кабелем к целевому компьютеру;
- ▶️ Нажмите
Run— выполнение начнётся сразу, поэтому кабель подключайте до старта.
Некоторые прошивки позволяют запускать скрипт с задержкой или выбирать режим подключения (клавиатура либо комбинированное устройство). Набор опций зависит от версии прошивки, поэтому если какого-то пункта нет в меню — проверьте документацию именно вашей сборки.
Что делать, если файл не виден в меню Bad USB
Проверьте три вещи: файл лежит именно в папке badusb в корне SD-карты, расширение файла — .txt (а не .txt.txt, что бывает при скрытых расширениях в Windows), и SD-карта корректно смонтирована — попробуйте перезагрузить Flipper.
Отладка: типичные ошибки и их причины
Если скрипт не работает, диагностику стоит вести от простого к сложному. Сначала проверьте, видит ли компьютер устройство как клавиатуру: при подключении Flipper в режиме BadUSB система должна определить новое HID-устройство. Если этого не происходит, дело в кабеле (нужен кабель с передачей данных, а не только зарядкой) или в USB-порте.
Дальше смотрите на поведение скрипта. Ниже — таблица типичных симптомов и вероятных причин.
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Скрипт не запускается, ошибка на Flipper | Синтаксическая ошибка в файле | Опечатки в командах, лишние символы |
| Команды выполняются «вслепую», окна не открываются | Слишком маленькие задержки | Увеличить значения DELAY |
| Печатаются не те символы | Несовпадение раскладок | Выбранная раскладка в меню Bad USB |
| Компьютер не реагирует вообще | Кабель без линий данных или неисправный порт | Другой кабель и USB-порт |
| Скрипт обрывается на середине | Неподдерживаемая команда прошивки | Список команд в документации прошивки |
Набор поддерживаемых команд Ducky Script различается между официальной и сторонними прошивками — например, расширенные команды вроде работы с переменными могут присутствовать не везде. Перед использованием нестандартной команды сверьтесь с документацией вашей прошивки.
⚠️ Внимание: не запускайте чужие скрипты из интернета, не разобравшись в их содержимом. Каждая строка Ducky Script — это реальные действия на компьютере, и среди безобидных команд могут быть деструктивные.
За пределами BadUSB: JavaScript и приложения
Когда возможностей Ducky Script перестаёт хватать, следующий шаг — JavaScript. На актуальных прошивках Flipper поддерживает запуск JS-скриптов через соответствующее приложение: они позволяют работать с интерфейсом устройства, GPIO и другими модулями. Файлы размещаются в выделенной папке на SD-карте, а API описан в официальной документации проекта.
Для более глубокой кастомизации существуют полноценные приложения на C, но это уже разработка под платформу со сборкой через инструментарий прошивки — отдельная тема, требующая опыта программирования. Начинающим разумнее освоить связку «Ducky Script → JavaScript» и только потом переходить к нативным приложениям.
Частые вопросы
Нужно ли уметь программировать, чтобы писать скрипты для Flipper Zero?
Для Ducky Script — нет. Это не язык программирования в полном смысле, а набор команд-нажатий клавиш. Достаточно понимать логику последовательности действий и уметь работать с текстовым файлом. Для JavaScript и приложений на C базовые навыки программирования уже потребуются.
Почему скрипт работает на одном компьютере и не работает на другом?
Чаще всего причины — разная скорость системы (не хватает задержек DELAY), другая раскладка клавиатуры или отличия в ОС. Скрипт, написанный под Windows, на macOS потребует замены сочетаний клавиш, поскольку комбинации вроде GUI+r там работают иначе.
Какое расширение должно быть у файла скрипта BadUSB?
Обычный текстовый файл с расширением .txt, размещённый в папке badusb на SD-карте. Файлы с другими расширениями меню Bad USB не отобразит.
Можно ли писать скрипты прямо на Flipper Zero?
Полноценного редактора для создания скриптов на самом устройстве в стандартной прошивке нет — файлы готовят на компьютере и загружают через qFlipper или картридер. Возможности сторонних прошивок могут отличаться, уточняйте в их документации.
Безопасно ли скачивать готовые скрипты из интернета?
Только после полного прочтения кода. Каждая строка скрипта — это действие на компьютере, и вредоносные команды внешне ничем не выделяются. Правило простое: не запускайте то, чего не понимаете построчно.