Se doreste realizarea unui dispozitiv care odata introdus intr-un port USB va introduce o parola stocata in EEPROM.
Se doreste realizarea unui dispozitiv care odata introdus intr-un PC, va fi recunoscut ca un HID keyboard ce va introduce o parola predefinita. La apasarea unei taste dedicate de un numar de ori, se va genera si memora o noua parola.
Pe langa placuta din etapa 1, nu mai sunt necesare alte componente.
Am folosit biblioteca V-Usb de aici [1], care prezinta orice microcontroller AVR ca un dispozitiv USB. Editand configuratiile acestei biblioteci, hardware-ul se va prezenta ca o tastatura HID. Astfel, nu va fi nevoie de drivere pe OS-ul clientului.
Dupa ce aplicatia primeste status-ul de STATE_SEND de la OS, va incepe sa trimita keystrokes pentru a scrie parola.
De asemenea, aplicatia poate si citi keystroke-uri de la OS, astfel incat, la apasarea unei anumite taste de un numar de ori, se va genera o noua parola in mod aleator, dintr-un charset predefinit si se va stoca peste vechea parola. La reintroducerea dispozitivului in portul USB, acesta va introduce noua parola generata.
Pentru exemple de cod, m-am inspirat din proiectul HID Keys [2]
Din pacate, nu am reusit sa fac placuta sa fie recunoscuta de OS ca o tastatura HID si astfel nu am putut trece la etapa urmatoare de a trimite parola. Nu sunt sigur daca este din vina codului, sau din vina mufei de USB.
Odata ce reusesc sa rezolv problema cu biblioteca V-USB, doresc sa micsorez proiectul folosind un Attiny in loc de un Atmega si punand tot proiectul intr-un stick de memorie.