93 lines
2.6 KiB
Markdown
93 lines
2.6 KiB
Markdown
|
# Command syntax
|
||
|
BadUsb app uses extended Duckyscript syntax. It is compatible with classic USB Rubber Ducky 1.0 scripts, but provides some additional commands and features, such as custom USB ID, ALT+Numpad input method, SYSRQ command and more fuctional keys.
|
||
|
# Script file format
|
||
|
BadUsb app can execute only text scrips from .txt files, no compilation is required. Both `\n` and `\r\n` line endings are supported. Empty lines are allowed. You can use spaces ore tabs for line indentation.
|
||
|
# Command set
|
||
|
## Comment line
|
||
|
Just a single comment line. All text after REM command will be ignored by interpreter
|
||
|
|Command|Parameters|Notes|
|
||
|
|-|-|-|
|
||
|
|REM|Comment text||
|
||
|
|
||
|
## Delay
|
||
|
Pause script execution by defined time
|
||
|
|Command|Parameters|Notes|
|
||
|
|-|-|-|
|
||
|
|DELAY|Delay value in ms|Single delay|
|
||
|
|DEFAULT_DELAY|Delay value in ms|Add delay before every next command|
|
||
|
|DEFAULTDELAY|Delay value in ms|Same as DEFAULT_DELAY|
|
||
|
|
||
|
## Special keys
|
||
|
|Command|Notes|
|
||
|
|-|-|
|
||
|
|DOWNARROW / DOWN||
|
||
|
|LEFTARROW / LEFT||
|
||
|
|RIGHTARROW / RIGHT||
|
||
|
|UPARROW / UP||
|
||
|
|ENTER||
|
||
|
|DELETE||
|
||
|
|BACKSPACE||
|
||
|
|END||
|
||
|
|HOME||
|
||
|
|ESCAPE / ESC||
|
||
|
|INSERT||
|
||
|
|PAGEUP||
|
||
|
|PAGEDOWN||
|
||
|
|CAPSLOCK||
|
||
|
|NUMLOCK||
|
||
|
|SCROLLLOCK||
|
||
|
|PRINTSCREEN||
|
||
|
|BREAK|Pause/Break key|
|
||
|
|PAUSE|Pause/Break key|
|
||
|
|SPACE||
|
||
|
|TAB||
|
||
|
|MENU|Context menu key|
|
||
|
|APP|Same as MENU|
|
||
|
|Fx|F1-F12 keys|
|
||
|
|
||
|
## Modifier keys
|
||
|
Can be combined with special key command or single character
|
||
|
|Command|Notes|
|
||
|
|-|-|
|
||
|
|CONTROL / CTRL||
|
||
|
|SHIFT||
|
||
|
|ALT||
|
||
|
|WINDOWS / GUI||
|
||
|
|CTRL-ALT|CTRL+ALT|
|
||
|
|CTRL-SHIFT|CTRL+SHIFT|
|
||
|
|ALT-SHIFT|ALT+SHIFT|
|
||
|
|ALT-GUI|ALT+WIN|
|
||
|
|GUI-SHIFT|WIN+SHIFT|
|
||
|
## String
|
||
|
|Command|Parameters|Notes|
|
||
|
|-|-|-|
|
||
|
|STRING|Text string|Print text string|
|
||
|
## Repeat
|
||
|
|Command|Parameters|Notes|
|
||
|
|-|-|-|
|
||
|
|REPEAT|Number of additional repeats|Repeat previous command|
|
||
|
## ALT+Numpad input
|
||
|
On Windows and some Linux systems you can print character by pressing ALT key and entering its code on numpad
|
||
|
|Command|Parameters|Notes|
|
||
|
|-|-|-|
|
||
|
|ALTCHAR|Character code|Print single character|
|
||
|
|ALTSTRING|Text string|Print text string using ALT+Numpad method|
|
||
|
|ALTCODE|Text string|Same as ALTSTRING, presents in some Duckyscript implementations|
|
||
|
## SysRq
|
||
|
Send [SysRq command](https://en.wikipedia.org/wiki/Magic_SysRq_key)
|
||
|
|Command|Parameters|Notes|
|
||
|
|-|-|-|
|
||
|
|SYSRQ|Single character||
|
||
|
## USB device ID
|
||
|
You can set custom ID of Flipper USB HID device. ID command should be in the **first line** of script, it is executed before script run.
|
||
|
|
||
|
|Command|Parameters|Notes|
|
||
|
|-|-|-|
|
||
|
|ID|VID:PID Manufacturer:Product||
|
||
|
|
||
|
Example:
|
||
|
`ID 1234:abcd Flipper Devices:Flipper Zero`
|
||
|
|
||
|
VID and PID are hex codes and are mandatory, Manufacturer and Product are text strings and are optional.
|
||
|
|