Dziś zmontujemy urządzenie, które zapamięta nasze hasła i naciskając przycisk automatycznie wprowadzi je do komputera. W takim przypadku hasła będą chronione. Autorem tego domowego produktu jest Michael (kanał YouTube „Arturos TV”).
Do niezależnej produkcji takiego urządzenia potrzebujemy tylko 3 komponentów. Przede wszystkim jest to oczywiście platforma (proszę nie mylić z arduino pro mini).
To arduino ma mikrokontroler ATmega32u4, co oznacza, że ma wbudowane USB, to znaczy komputer rozpoznaje to arduino jako mysz lub klawiaturę. To wokół tej funkcji powstanie dzisiejszy projekt.
Ponadto arduino ma nieco niestandardowy pinout. Jednak napotkamy to nieco później. Ponadto będziemy musieli nawigować po menu, a następnie wprowadzić hasło.
Pokrótce omówmy zasadę jego działania. Enkoder ma 2 styki zwane warunkowo, a i b, w zależności od tego, w którym kierunku zostanie obrócony enkoder.
Na przykład, jeśli obrócimy go zgodnie z ruchem wskazówek zegara, wtedy styk „a” zamyka się najpierw, a dopiero potem styk „b”. Na tej podstawie w programie możemy zrozumieć, że enkoder został obrócony zgodnie z ruchem wskazówek zegara. Jeśli obraca się w lewo, najpierw styk „b” zostanie zamknięty, a dopiero potem styk „a”. Po każdym obrocie wyczuwalne jest również lekkie kliknięcie. Na tej podstawie zostanie ustalone hasło, które należy wprowadzić, aby uzyskać dostęp do naszego urządzenia.
Menu urządzenia będzie wyświetlane na znajomym, oczywiście na magistrali I2C.
I jest niewielki niuans. W arduino pro micro styki I2C nie znajdują się na standardowych portach A5 i A4, ale na stykach 2 i 3, więc tutaj musisz podłączyć wyświetlacz.
Ogólnie schemat całego zmontowanego urządzenia wygląda następująco:
Oczywiście wydrukujemy obudowę na drukarce 3d.
Tym razem okazało się bardzo dobrze, ale z jakiegoś powodu autor postanowił wykonać projekt, dlatego dolna pokrywa nie była zbyt piękna. Ale nic nie można zrobić, ale przy wymiarach obudowy i odległości między dziurami tym razem wszystko potoczyło się bardzo dobrze. Wszystkie detale znalazły się na miejscu i bez trudu okazało się, że wszystkie śruby zostały dokręcone. Niestety gorący klej znów był możliwy, ale w tym projekcie było już trochę.
Oczywiście najbardziej interesującą rzeczą w tym projekcie było pisanie oprogramowania układowego.
Nie będziemy zagłębiać się w jego szczegóły, ale trzeba powiedzieć o niektórych jego funkcjach. Przede wszystkim jest to użycie biblioteki keyboard.h.
Ta biblioteka jest używana tylko z mikropłytkami arduino leonardo i arduino pro lub z tymi, które mają wbudowane mikrokontrolery USB. Jeśli spróbujesz sflashować za pomocą tego szkicu inne arduino, które nie ma takiego wbudowanego USB, środowisko programistyczne przeklnie, więc bądź ostrożny. Inną interesującą biblioteką jest EEPROM.h.
Jego autor wykorzystuje w celu utrudnienia atakującym włamania się na nasze urządzenie. Więcej na ten temat później. Ta linia będzie dla Ciebie bardzo interesująca:
Tutaj ustawiamy kod dostępu do naszego urządzenia, aby go odblokować. Jednak nieco później na temat bezpieczeństwa, ale wciąż pamiętaj, że tutaj mamy możliwość określenia „0” lub „1”. W tej chwili ustawiliśmy hasło „101”.
A także bardzo ważny blok, w tym miejscu będą przechowywane hasła.
Należy pamiętać, że jest to tablica dwuwymiarowa, a liczba haseł tutaj jest zasadniczo nieograniczona. Chociaż ściśle mówiąc, jest ograniczona pamięcią urządzenia, można to pominąć. Bardzo ważne jest przestrzeganie formatu nagrania. Załóżmy, że pierwsze pole jest wyświetlane w menu urządzenia. To jest na przykład „Administrator”.
Następnie, oddzielając je przecinkami i cudzysłowami, musimy wpisać nasze hasło, które chcemy, aby urządzenie wprowadzało się do komputera. Na przykład istnieje sekcja „Test” (zostanie ona zapisana na ekranie naszego urządzenia).
A jeśli naciśniemy przycisk, ten tekst zostanie wprowadzony do komputera:
Piękno tego urządzenia polega na tym, że jeśli mikrokontroler jest sflashowany jakimś szkicem, nie można go stamtąd pobrać. Jeśli raz ustawisz tutaj wszystkie hasła i wszystkie ich nazwy, a następnie usuniesz je z tego oprogramowania układowego, nikt inny nie będzie miał dostępu do twoich haseł, z wyjątkiem tego, że atakujący złamie to urządzenie i zrozumie, jak to działa.
Poniżej znajduje się dość długie oprogramowanie układowe i nie będziemy wchodzić w jego szczegóły. Możesz go pobrać, klikając link w opisie pod filmem autora (link SOURCE na końcu artykułu).
Skończyliśmy z oprogramowaniem, więc zobaczmy teraz, jak działa to urządzenie. Podłączamy go do komputera, aby zyskał moc.
Teraz naszym zadaniem jest wprowadzenie hasła. Hasło, jak pamiętasz, to zera i jedynki, a „1” to jedno kliknięcie enkodera zgodnie z ruchem wskazówek zegara, a „0” to obrót w lewo. Oznacza to, że ponieważ ustawiliśmy hasło 101, musimy przewinąć dźwignię 1 raz w prawo, 1 raz w lewo, a następnie ponownie w prawo.
W ten sposób wprowadzamy hasło, klikając koder i uzyskując dostęp do hasła na komputerze.
Pamiętaj, że mamy tylko 3 próby. Jeśli wydamy je wszystkie, urządzenie poprosi Cię o odczekanie minuty, zanim będziemy mogli spróbować ponownie wprowadzić hasło.
A dla tych, którzy są szczególnie inteligentni, którzy zrozumieją, że muszą chwilę poczekać i odłączyć urządzenie od zasilania, a następnie podłączyć ponownie, urządzenie powie im, że muszą przerwać podstępne sztuczki i że wiedzą o nich wszystko, ponieważ czas jest wciąż potrzebny czekanie jest stale rejestrowane w nieulotnej pamięci.
Mam nadzieję, że rozumiesz, jak działa to urządzenie. Dziękuję za uwagę. Do zobaczenia wkrótce!
Wideo: