### BadUSB
BadUSB oparte o `Seeed Xiao RP2040`.
****
#### Budowa
- [Seeed Xiao RP2040](https://botland.com.pl/plytki-z-mikrokontrolerem-rp2040/19980-seeed-xiao-rp2040-arm-cortex-m0-seeedstudio-102010428-5904422379834.html)
- [Obudowa](https://makerworld.com/pl/models/1239540-seeed-studio-xiao-rp2040-case#profileId-1272567)
Docelowo urządzenie będzie rozbudowane o adapter do USB typu A aby nadać mu wygląd pendrive.
![[BadUSB 1.jpg]]
****
#### Konfiguracja
Na mikrokontrolerze działa [circuitpython](https://circuitpython.org), używa biblioteki `adafruit_hid` do emulowania klawiatury.
****
#### Przykładowy skrypt uruchamiający po podłączeniu film na YouTube
```Python
import time
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
kbd = Keyboard(usb_hid.devices)
layout = KeyboardLayoutUS(kbd)
time.sleep(1)
# Wysyła kombinacje klawiszy Win + R
kbd.send(Keycode.GUI, Keycode.R)
time.sleep(1.2)
# Otwiera film na YouTube w domyślnej przegladarce
layout.write("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1\n")
time.sleep(1.2)
```
****