Spisu treści:

HackerBox 0047: Stara szkoła: 12 kroków
HackerBox 0047: Stara szkoła: 12 kroków

Wideo: HackerBox 0047: Stara szkoła: 12 kroków

Wideo: HackerBox 0047: Stara szkoła: 12 kroków
Wideo: #83 HackerBox 0047 Old School 2024, Listopad
Anonim
HackerBox 0047: Stara szkoła
HackerBox 0047: Stara szkoła

Pozdrowienia dla hakerów HackerBox na całym świecie! Z HackerBox 0047 eksperymentujemy z interfejsem klawiatury dla mikrokontrolerów, generowaniem sygnału wideo VGA, oldschoolowymi komputerami BASIC ROM, urządzeniami pamięci masowej microSD, narzędziami locksport i bootowalnymi pamięciami USB Ubuntu Linux.

Ta instrukcja zawiera informacje dotyczące rozpoczęcia pracy z HackerBox 0047, które można kupić tutaj do wyczerpania zapasów. Jeśli chcesz otrzymywać co miesiąc taki HackerBox bezpośrednio do swojej skrzynki pocztowej, zasubskrybuj na HackerBoxes.com i dołącz do rewolucji!

HackerBoxes to miesięczny abonamentowy serwis dla entuzjastów elektroniki i technologii komputerowych - Hardware Hackers - The Dreamers of Dreams.

Krok 1: Lista zawartości dla HackerBox 0047

  • Ekskluzywny zestaw Old School VGA PC
  • Dwa moduły Arduino Nano 5V 16MHz
  • 200-częściowy zestaw LED w plastikowym pudełku do przechowywania
  • Aluminiowa pamięć flash USB 8 GB
  • 6-w-1 Pocket Locksport Tool
  • Precyzyjne przecinaki do drutu
  • Moduł MicroSD Breakout
  • Czytnik MicroSD USB
  • Dwa 40-pinowe męskie nagłówki odrywające
  • Bluzy damskie-damskie 10 cm DuPont
  • Naklejka na Ubuntu Linux

Kilka innych rzeczy, które będą pomocne:

  • Lutownica, lut i podstawowe narzędzia lutownicze
  • Komputer do uruchamiania narzędzi programowych
  • Uratowany monitor VGA (wypróbuj sklep z używanymi rzeczami lub stary magazyn w pracy)
  • Klawiatura PS/2 (wypróbuj sklep z używanymi rzeczami lub stary magazyn w pracy)

Co najważniejsze, będziesz potrzebować poczucia przygody, ducha hakera, cierpliwości i ciekawości. Budowanie i eksperymentowanie z elektroniką, choć bardzo satysfakcjonujące, może być trudne, trudne, a czasem nawet frustrujące. Celem jest postęp, a nie doskonałość. Kiedy wytrwasz i cieszysz się przygodą, to hobby może przynieść wiele satysfakcji. Zrób każdy krok powoli, pamiętaj o szczegółach i nie bój się prosić o pomoc.

W FAQ HackerBoxes znajduje się mnóstwo informacji dla obecnych i przyszłych członków. Odpowiedzi na prawie wszystkie nietechniczne e-maile, które otrzymujemy, są już tam udzielane, więc naprawdę dziękujemy za poświęcenie kilku minut na przeczytanie FAQ.

Krok 2: Locksport

Locksport
Locksport

Locksport to sport lub rekreacja pokonywania zamków. Entuzjaści uczą się różnych umiejętności, w tym otwierania zamków, podbijania zamków i innych technik tradycyjnie stosowanych przez ślusarzy i innych specjalistów ds. bezpieczeństwa. Entuzjaści Locksport lubią wyzwania i emocje związane z nauką pokonywania wszelkich form zamków i często gromadzą się w grupach sportowych, aby dzielić się wiedzą, wymieniać się pomysłami i brać udział w różnych zajęciach rekreacyjnych i konkursach.

Aby zapoznać się z miłym wprowadzeniem, zapoznaj się z przewodnikiem MIT dotyczącym wybierania zamków.

Obejrzyj także ten film i sprawdź niesamowite linki w opisie filmu.

TOOL (The Open Organization Of Lockpickers) to organizacja osób, które angażują się w hobby Locksport, a także edukują swoich członków i opinię publiczną na temat bezpieczeństwa (lub jego braku) zapewnianego przez wspólne zamki. „Misją TOOL jest poszerzanie wiedzy ogółu społeczeństwa na temat zamków i wytrychów. Badając zamki, sejfy i inny tego rodzaju sprzęt oraz publicznie omawiając nasze odkrycia, mamy nadzieję rozwiać tajemnicę, którą nasycone jest tak wiele z tych produktów."

WZGLĘDY ETYCZNE:

Uważnie przejrzyj i zainspiruj się surowym kodeksem etycznym TOOL, który jest podsumowany w następujących trzech zasadach:

  1. Nigdy nie otwieraj ani nie manipuluj w celu otwarcia zamka, który nie należy do Ciebie, chyba że masz wyraźne pozwolenie od prawowitego właściciela zamka.
  2. Nigdy nie rozpowszechniaj wiedzy ani narzędzi otwierania zamków wśród osób, które znasz lub które mają powody podejrzewać, że będą chciały wykorzystać takie umiejętności lub sprzęt w sposób przestępczy.
  3. Należy pamiętać o odpowiednich przepisach dotyczących wytrychów i związanego z nimi sprzętu w każdym kraju, stanie lub gminie, w którym chcesz zaangażować się w hobbystyczne otwieranie zamków lub rekreacyjny sport.

Krok 3: Przytnij wszystkie przewody

Przytnij wszystkie przewody
Przytnij wszystkie przewody

Podczas lutowania zawsze są wyprowadzenia do przycięcia. Nie wspominając o przecięciu zielonego przewodu podczas rozbrajania niebezpiecznych rekwizytów filmowych.

Użyj tego narzędzia w dobrym zdrowiu. Przestrzegaj ostrzeżeń przedstawionych tutaj od producenta, aby zawsze nosić ochronę oczu. Nie chcą, żebyś wydłubał sobie oczy. My też nie.

Krok 4: Platforma mikrokontrolera Arduino Nano

Platforma mikrokontrolera Arduino Nano
Platforma mikrokontrolera Arduino Nano

Wszyscy kochamy Arduino Nano i w tym miesiącu będziemy potrzebować ich dwóch! Dołączone płytki Arduino Nano są dostarczane z pinami nagłówka, ale nie są przylutowane do modułów. Na razie zostaw szpilki wyłączone. Wykonaj te wstępne testy na obu modułach Arduino Nano przed lutowaniem na pinach nagłówka. Wystarczy kabel microUSB i obie płytki Arduino Nano zaraz po wyjęciu z torby.

Arduino Nano to zminiaturyzowana płytka Arduino do montażu powierzchniowego, przyjazna dla płytek stykowych, ze zintegrowanym portem USB. Jest niesamowicie w pełni funkcjonalny i łatwy do zhakowania.

Cechy:

  • Mikrokontroler: Atmel ATmega328P
  • Napięcie: 5V
  • Cyfrowe piny we/wy: 14 (6 PWM)
  • Piny wejścia analogowego: 8
  • Prąd DC na pin we/wy: 40 mA
  • Pamięć Flash: 32 KB (2 KB dla bootloadera)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Szybkość zegara: 16 MHz
  • Wymiary: 17mm x 43mm

Ten szczególny wariant Arduino Nano to czarny Robotdyn Nano. Zawiera wbudowany port MicroUSB podłączony do układu mostka USB/szeregowego CH340G. Szczegółowe informacje na temat CH340 (i sterowników w razie potrzeby) można znaleźć tutaj.

Po pierwszym podłączeniu Arduino Nano do portu USB komputera powinna zaświecić się zielona lampka zasilania, a wkrótce po tym niebieska dioda LED powinna zacząć powoli migać. Dzieje się tak, ponieważ Nano jest fabrycznie załadowany programem BLINK, który działa na zupełnie nowym Arduino Nano.

OPROGRAMOWANIE: Jeśli nie masz jeszcze zainstalowanego Arduino IDE, możesz pobrać je z Arduino.cc

Podłącz Nano do kabla MicroUSB, a drugi koniec kabla do portu USB w komputerze. Uruchom oprogramowanie Arduino IDE. Wybierz "Arduino Nano" w IDE pod narzędzia>płyta i "ATmega328P (stary bootloader)" pod narzędzia>procesor. Wybierz odpowiedni port USB w menu Tools>port (prawdopodobnie jest to nazwa z wchusb).

Na koniec załaduj przykładowy kod:Plik->Przykłady->Podstawy->Mrugnięcie

Blink to w rzeczywistości kod, który został wstępnie załadowany do Nano i powinien teraz działać, aby powoli migać niebieską diodą LED. W związku z tym, jeśli załadujemy ten przykładowy kod, nic się nie zmieni. Zamiast tego zmodyfikujmy nieco kod.

Przyglądając się uważnie, widać, że program włącza diodę, czeka 1000 milisekund (jedna sekunda), wyłącza diodę, czeka kolejną sekundę, a potem robi to wszystko od nowa - na zawsze.

Zmodyfikuj kod, zmieniając obie instrukcje „delay(1000)” na „delay(100)”. Ta modyfikacja spowoduje, że dioda LED będzie migać dziesięć razy szybciej, prawda?

Załadujmy zmodyfikowany kod do Nano, klikając przycisk PRZEŚLIJ (ikona strzałki) tuż nad zmodyfikowanym kodem. Obejrzyj poniżej kod, aby uzyskać informacje o stanie: „kompilowanie”, a następnie „przesyłanie”. W końcu IDE powinno wskazać „Przesyłanie zakończone”, a dioda LED powinna migać szybciej.

Jeśli tak, to gratulacje! Właśnie zhakowałeś swój pierwszy fragment kodu osadzonego.

Po załadowaniu i uruchomieniu wersji z szybkim miganiem, dlaczego nie sprawdzić, czy możesz ponownie zmienić kod, aby dioda LED szybko mignęła dwukrotnie, a następnie odczekać kilka sekund przed powtórzeniem? Spróbuj! Co powiesz na inne wzory? Kiedy już uda Ci się zwizualizować pożądany rezultat, zakodować go i obserwować, jak działa zgodnie z planem, zrobiłeś ogromny krok w kierunku zostania kompetentnym hakerem sprzętowym.

Przed przylutowaniem czegokolwiek do nich przetestuj oba moduły Arduino Nano, ładując na każdy niestandardowy program i upewniając się, że działa poprawnie.

Jeśli chcesz uzyskać dodatkowe informacje wprowadzające do pracy w ekosystemie Arduino, zalecamy zapoznanie się z przewodnikiem dla warsztatu HackerBoxes Starter, który zawiera kilka przykładów i link do podręcznika Arduino w formacie PDF.

Krok 5: Old School VGA PC Kit

Zestaw Old School VGA PC
Zestaw Old School VGA PC

Zawartość zestawu Old School VGA PC:

  • Płytka drukowana Old School VGA PC
  • Dwa moduły mikrokontrolera Arduino Nano
  • Złącze VGA HD15
  • Złącze klawiatury Mini-DIN PS/2
  • Dwa rezystory 68 Ohm
  • Dwa rezystory 470 Ohm
  • Brzęczyk piezoelektryczny

W kolejnych kilku krokach zmontujesz i poznasz zestaw Old School VGA PC Kit. Oczywiście będzie to wymagało lutowania. Istnieje wiele świetnych przewodników i filmów online na temat lutowania (na przykład). Jeśli czujesz, że potrzebujesz dodatkowej pomocy, spróbuj znaleźć lokalną grupę twórców lub miejsce dla hakerów w Twojej okolicy. Ponadto, amatorskie kluby radiowe są zawsze doskonałym źródłem wiedzy o elektronice.

Kilka uwag dotyczących projektu: Sugeruje się, aby po zainstalowaniu obu urządzeń Nano podłączać tylko jeden na raz do zasilania USB, nigdy obu naraz. Podobnie, oba Nano mogą sterować brzęczykiem ze swojego pinu A0. Jako wyjście konfiguruj tylko jeden z pinów A0, nigdy oba jednocześnie. Tuż pod dwoma MCU znajduje się rząd pinów we/wy (nagłówek J1) (patrz schemat przypisania pinów). Dolny rząd (nagłówek J2) to tylko "przestrzeń do krojenia" i nie łączy się z niczym w PCB.

Krok 6: Old School PC - klawiatura PS/2

Old School PC - klawiatura PS/2
Old School PC - klawiatura PS/2

Aby przetestować interfejs klawiatury i bibliotekę, najpierw umieść tylko dwa elementy na płytce drukowanej:

  1. Główny MCU (Arduino Nano)
  2. Złącze Mini-DIN PS/2

Główny MCU wymaga dwóch długich czarnych rzędów nagłówków. Sześciopinowa listwa (2x3) nie jest używana.

Zainstaluj bibliotekę PS2Keyboard Paula Stoffregena dla Arduino.

W Arduino IDE otwórz plik>Przykłady>PS2Keyboard>Simple_Test

Ze schematu PCB w poprzednim kroku widać, że KBCLK jest na pinie D3 (nie D5, jak założono w przykładzie), więc upewnij się, że pin zdefiniowany w przykładach jest ustawiony na:

const int DataPin = 8;stały int IRQpin = 3;

Następnie zaprogramuj ten kod do głównego MCU, podłącz klawiaturę PS/2, otwórz monitor szeregowy Arduino do 9600 bps i zacznij pisać.

Kody skanowania klawiatury zdemistyfikowane

Zwróć uwagę, że większość starszych klawiatur USB to kombinacje USB i PS/2 i mogą być używane z adapterem lub ponownie okablowane w celu podłączenia do portu PS/2. Te klawiatury z podwójnym interfejsem zwykle były dostarczane z małą przejściówką USB-do-PS/2. Jednak nowsze klawiatury USB, które nie są dostarczane z adapterem PS/2, zwykle nie dostarczają sygnałów PS/2 i nie będą działać z takim adapterem.

Krok 7: Old School PC - wyjście wideo VGA

Old School PC - wyjście wideo VGA
Old School PC - wyjście wideo VGA

Przylutuj drugi Arduino Nano (VIDEO MCU), cztery rezystory (zwróć uwagę, że istnieją dwie różne wartości), brzęczyk i złącze VGA. Po raz kolejny sześć (2x3) pinów nagłówka MCU nie jest używane.

Zainstaluj bibliotekę VGAX Sandro Maffiodo dla Arduino. Podłącz monitor VGA. Ciesz się przykładowymi plikami w pliku>przykłady>VGAX

Repozytorium git dla biblioteki VGAX zawiera kilka wysoce edukacyjnych informacji i zasobów uczących, w jaki sposób skromne Arduino zostało zhakowane w celu wygenerowania sygnału wideo VGA (ish).

Krok 8: Old School PC - PODSTAWOWY język programowania

Image
Image

Te bloki przetwarzania klawiatury, wideo i MCU można połączyć w prosty, ale elegancki, 8-bitowy komputer PC VGA obsługujący język programowania BASIC. Rekwizyty dla Roba Caia za połączenie wszystkich tych elementów.

BASIC (ang. Beginner's All-purpose Symbolic Instruction Code) to uniwersalny język programowania wysokiego poziomu, kładący nacisk na łatwość użycia. Niemal powszechnie komputery domowe z lat 80. miały rezydentny w pamięci ROM interpreter języka BASIC, do którego komputery były bezpośrednio uruchamiane. Te oldschoolowe mikromaszyny obejmują różne typy maszyn Apple II, Commodore, TRS-80, Atari i Sinclair. (wikipedia)

Konstrukcje z dwoma MCU wykorzystują pierwszy Arduino jako główny MCU, do którego wgrywana jest biblioteka klawiatur TinyBasic Plus i PS2. Drugi MCU VIDEO jest używany jako generator graficzny wyświetlacz obsługujący bibliotekę VGAX. VIDEO MCU może generować 4 kolory, 10 wierszy x 24 kolumny znaków ASCII.

Arduino I/O może być sterowane bezpośrednio z programów BASIC. Jak pokazano na tym filmie, miganie diody LED jest sterowane przez kilka linii programu. Kod BASIC można nawet zapisać w pamięci EEPROM MCU.

KOD: Szkicowane dla obu MCU i różne inne szczegóły są dostępne w Instructable Roba Cai dla projektu.

PROGRAMOWANIE UWAGA: Podczas programowania modułów MCU po umieszczeniu ich na płytce drukowanej, czasami pojawiają się problemy, ponieważ interfejsy szeregowe są podłączone i mogą zakłócać programowanie. Wystarczy przytrzymać przycisk resetowania na głównym MCU, gdy kabel USB programuje wideo MCU i odwrotnie, gdy kabel USB programuje główny MCU.

Krok 9: Uruchom Ubuntu Linux przez pamięć USB

Moduł MicroSD TF Breakout
Moduł MicroSD TF Breakout

Ubuntu to darmowa dystrybucja Linuksa o otwartym kodzie źródłowym oparta na Debianie. Ubuntu jest wypuszczane co sześć miesięcy, z długoterminowym wsparciem (LTS) co dwa lata. Ubuntu jest rozwijane przez firmę Canonical i społeczność użytkowników. Ubuntu nosi nazwę afrykańskiej filozofii ubuntu, którą Canonical tłumaczy jako „ludzkość dla innych” lub „jestem tym, kim jestem, ponieważ wszyscy jesteśmy”. (wikipedia)

Dlaczego nie wypróbować Ubuntu na pamięci USB?

  • Zainstaluj lub zaktualizuj Ubuntu
  • Przetestuj środowisko Ubuntu na komputerze bez dotykania konfiguracji komputera
  • Uruchom Ubuntu na pożyczonej maszynie lub z kafejki internetowej
  • Użyj narzędzi zainstalowanych domyślnie na pamięci USB, aby naprawić lub naprawić uszkodzoną konfigurację

Tworzenie rozruchowej pamięci USB Ubuntu jest bardzo proste, szczególnie z samego Ubuntu. Proces jest tutaj omówiony w kilku krokach.

OSTRZEŻENIE: Nabierz nawyku, by nigdy nie ufać przypadkowym urządzeniom pamięci masowej USB. Tak, nawet ten zawarty w tym pudełku. Nigdy nie zezwalaj na automatyczne uruchamianie czegokolwiek z nieznanego urządzenia pamięci masowej. Większość systemów operacyjnych nie zezwala na automatyczne uruchamianie w ramach standardowych praktyk bezpieczeństwa, ale w systemie Windows należy wyłączyć automatyczne uruchamianie/autoodtwarzanie. Nie uruchamiaj ani nie otwieraj niczego, co znajdziesz na urządzeniu pamięci masowej. Jeśli chcesz korzystać z urządzenia pamięci masowej, wyczyść je i sformatuj ponownie.

Krok 10: Moduł MicroSD TF Breakout

Jaka jest różnica między kartą TF a kartą MicroSD? (źródło)

Maleńkie przenośne urządzenie pamięci masowej, znane jako karta MicroSD, zostało po raz pierwszy wyprodukowane przez firmę SanDisk Corporation pod nazwą TransFlash w 2004 roku, a w tym czasie zostało wprowadzone jako najmniejsze zewnętrzne urządzenie pamięci na świecie. Po sukcesie na rynku telefonów komórkowych, karta TransFlash została formalnie przyjęta przez obecny organ ds. przechowywania danych cyfrowych, Stowarzyszenie Kart SD, jako część cyfrowego urządzenia pamięci masowej trzeciej kategorii w oficjalnym parasolu Secure Digital. Pozostałe dwa urządzenia to MiniSD i karta pamięci SD. W pewnym momencie firma SanDisk Corporation zmieniła nazwę urządzenia na MicroSD Card i zaczęła produkować to, czego obecnie używamy jako standardowy układ pamięci, do którego zaprojektowano większość telefonów komórkowych.

Należy pamiętać, że urządzenia pamięci MicroSD są urządzeniami 3,3V, więc prosty moduł breakout pokazany tutaj powinien być używany w systemach 3,3V. Na przykład z mikrokontrolerami 3,3V. Często można znaleźć instancje na wolności (przykład pierwszy, przykład drugi) projektów, które po prostu zacinają sygnały we/wy 5 V na kartach MicroSD. Zwykle działają, jeśli lubisz żyć niebezpiecznie, ale mogą być mniej stabilne, a nawet mogą uszkodzić kartę MicroSD. Bardziej poprawne/solidne rozwiązania do używania kart MicroSD z mikrokontrolerami 5V obejmują przełączniki poziomu lub sieci z dzielnikiem napięcia (oba omówione tutaj).

Krok 11: Mandelbrot Zoom - nie wpadaj

Image
Image

Obrazy zbioru Mandelbrota wykazują skomplikowaną i nieskończenie skomplikowaną granicę, która ujawnia coraz drobniejsze szczegóły rekurencyjne przy rosnących powiększeniach. „Styl” tego powtarzającego się szczegółu zależy od regionu badanego zestawu. Granica zbioru zawiera również mniejsze wersje kształtu głównego, więc fraktalna własność samopodobieństwa dotyczy całego zbioru, a nie tylko jego części. Zbiór Mandelbrota stał się popularny poza matematyką zarówno ze względu na swój estetyczny wygląd, jak i jako przykład złożonej struktury wynikającej z zastosowania prostych reguł. Jest to jeden z najbardziej znanych przykładów matematycznej wizualizacji i matematycznego piękna. (wikipedia)

  • narzędzie do ręcznego powiększania
  • tyle kodu
  • rekurencja: rz. zobacz rekurencję

Krok 12: HackLife

Mamy nadzieję, że spodobała Ci się przygoda HackerBox w tym miesiącu w elektronikę i technologię komputerową. Sięgnij i podziel się swoim sukcesem w komentarzach poniżej lub na grupie Facebook HackerBoxes. Pamiętaj też, że możesz w każdej chwili wysłać e-mail na adres [email protected], jeśli masz pytanie lub potrzebujesz pomocy.

Co dalej? Dołącz do rewolucji. Żyj HackLife. Zdobądź fajne pudełko hakowalnego sprzętu dostarczanego co miesiąc prosto do Twojej skrzynki pocztowej. Przejdź do HackerBoxes.com i zarejestruj się, aby otrzymać miesięczną subskrypcję HackerBox.

Zalecana: