Tom28 Napisano 13 stycznia Udostępnij Napisano 13 stycznia Witam ciekawi mnie taka myśl czy w arduino mega i esp32 można jakość się zabezpieczyć by nikt nie mógł skopiować kodu i wgrać na inną płytkę tego samego? Czy wogule ktoś może ściągnąć kod z płytki i go edytować? Jakie są metody do obrony? I jak można to zrobić? Kompiluje arduino ide. Pozdrawiam i dziękuję za każdą odpowedz 😊 1 Link do komentarza Share on other sites More sharing options...
Santiago 13 stycznia Udostępnij 13 stycznia Istnieje musisz pozmieniać w samym uC Lock bity. Poczytaj Link do komentarza Share on other sites More sharing options...
ethanak 13 stycznia Udostępnij 13 stycznia Nie wiem jak w Arduino, ale dla ESP32 robisz to programem esptool. Tylko trzeba uważać, bo jak się pomylisz to możesz zostać z gustowną dekoracją na ścianę. Link do komentarza Share on other sites More sharing options...
Tom28 13 stycznia Autor tematu Udostępnij 13 stycznia Ok poczytam. A łatwo jest odczytać dany program? Czy jak się odczyta to jest możliwość edycji czy to tylko ciąg znaków? Dla arduino i dla esp32 tak samo jest? Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
_LM_ 13 stycznia Udostępnij 13 stycznia 2 godziny temu, Tom28 napisał: Czy wogule ktoś może ściągnąć kod z płytki i go edytować? W ogóle to zależy od mikrokontrolera. Jeśli twój program nie został zabezpieczony to taki ściągnięty plik można poddać deasemblacji kodu, w ten sposób otrzymasz program w assemblerze będzie on daleki od tego co wpisałeś w kodzie źródłowym lecz dla wprawnego programisty jest to punkt wyjścia dla wprowadzenia zmian w oprogramowaniu urządzenia. AVR mają fuse i lock bit za ich pomocą możesz zablokować możliwość odczytu programu, tj: flash nadal daje się odczytać ale jest to zbiór przypadkowych wartości nie mających nic wspólnego z rzeczywistym programem który siedzi w mikrokontrolerze. Link do komentarza Share on other sites More sharing options...
Elvis 13 stycznia Udostępnij 13 stycznia @_LM_ Taka ciekawostka - kod można też dekompilować i czasem efekty są zaskakująco dobre. Brakuje oczywiście nazw funkcji i zmiennych, ale kod bywa całkiem czytelny 🙂 1 Link do komentarza Share on other sites More sharing options...
kostuch 13 stycznia Udostępnij 13 stycznia 3 godziny temu, Santiago napisał: Istnieje musisz pozmieniać w samym uC Lock bity. Poczytaj Kiedyś znalazłem jakieś dalekowschodnie strony oferujące za niewygórowaną cenę odczyt kodu z tak zabezpieczonego kontrolera. Jak się robi sterownik do akwarium, to można sobie ustawiać lockbity. Ale jak się robi międzygalaktyczny nadprzestrzenny komunikator z obcą cywilizacją, to warto mieć świadomość, że skopiowanie to tylko kwestia pliku $$$ i paru dni. W esp32 jest secureboot i flash encryption. Wystarczy żeby żaden amator nie skopiował kodu. 1 Link do komentarza Share on other sites More sharing options...
Tom28 13 stycznia Autor tematu Udostępnij 13 stycznia Dziękuję za zainteresowanie. Tu chodzi tylko o to że jak stworze sobie jakiś program na płytce arduino (bo narazie na niej się bawię a przyszłościowo esp32) i pożyczę koledze płytkę arduino mega z tym programem do testów to by on sobie nie mógł skopiować programu. Zaczynam czytać o tych lock bitach. Czy jak zablokuje na tych bitach to ja będę mógł później odblokować by dograć inny program? Najfajniej było by jakieś hasło ustawić czy coś w tym stylu ale takich opcji raczej niema hehe Dzięki za każdy komentarz i liczę na zrozumienie laika 😊 Link do komentarza Share on other sites More sharing options...
kaczakat 13 stycznia Udostępnij 13 stycznia Na płytce Arduino MEGA jest to banalne, bo flash jest wbudowany w uC, nie da się odczytać, ale skasować można. W ESP jest flash zewnętrzny i zabezpieczenie polega na zaszyfrowaniu jego zawartości, a klucze ustawia się tylko raz w rdzeniu ESP32. Wszystkie zabezpieczenia są do obejścia, ale nie dla zwykłych zjadaczy chleba. Po ustawieniu szyfrowania w ESP32 możesz wgrać nowy firmware przez OTA https://circuitdigest.com/article/how-to-secure-esp32-firmware-and-flash-memory-using-esp-idf-framework . Link do komentarza Share on other sites More sharing options...
H1M4W4R1 13 stycznia Udostępnij 13 stycznia 4 minuty temu, kaczakat napisał: Wszystkie zabezpieczenia są do obejścia, ale nie dla zwykłych zjadaczy chleba. Popieram, starsze modele STM32 chyba wystarczyło resetować do skutku, aż wreszcie uda się wstrzelić programatorem w trakcie boot'a (zanim bootloader zablokuje odczyt). Potem chyba to naprawili, ale wiele sprzętu nadal ma tę podatność (chyba tak włamali się do taga NFC od Apple). Link do komentarza Share on other sites More sharing options...
Tom28 13 stycznia Autor tematu Udostępnij 13 stycznia (edytowany) 18 godzin temu, kaczakat napisał: Na płytce Arduino MEGA jest to banalne, bo flash jest wbudowany w uC, nie da się odczytać, ale skasować można. Witaj poczytałem trochę i chciałbym by ktoś rozwiał moje wątpliwości. W programie atmelstudio wchodzę w zakladke lock bits i mam 3 podpunkty. Lb i tam mam (programming and veryficjation disabled) i to mnie dotyczy po włączeniu tego nikt nie odczyta i nie skopiuje. A jak będę chciał wgrać nowy kod to wpierw muszę użyć erase i wgrać nowy i znowu zablokować. Dobrze rozumiem? Jeszcze jest opcja blb0 i blb1 czytam trochę o tym ale dla laika to za dużo hehe. Czy ktoś prostym językiem wyjaśni mi co one blokują? Dziękuję za pomoc i wyjaśnienie Pozdrawiam Edytowano 14 stycznia przez Tom28 Douczenie 1 Link do komentarza Share on other sites More sharing options...
Tom28 14 stycznia Autor tematu Udostępnij 14 stycznia @kaczakat czy może jak zablokuje bit lb to bity blb0 i blb1 też są zablokowane i mnie nie interesują? Do arduino 2560 program atmelstudio będzie ok czy może jakimś inny użyć? Przepraszam za laickie pytanie 😊 Pozdrawiam Link do komentarza Share on other sites More sharing options...
Santiago 14 stycznia Udostępnij 14 stycznia https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=http://www.easy-soft.net.pl/artykuly/mikrokontrolery/zrozumiec-zabezpieczenia-funkcje-bitow-blokujacych-i-bezpiecznikow&ved=2ahUKEwiM-s_C-NyDAxUhXfEDHTO-B7QQFnoECBIQAQ&usg=AOvVaw3EUbtI-HYR52kCy9DvJud- 2 Link do komentarza Share on other sites More sharing options...
Tom28 16 stycznia Autor tematu Udostępnij 16 stycznia Witajcie. Nadal mam problem z tymi lock bitami. Wgrałem program na win 10 "mkAVR Calculator" to jest nakładka graficzna avrdude. Mam programator usbasp v2. 0 i po podłączeniu do icsp w arduino uno (na uno robię testy) wszystko ok dałem zakładkę w loock bitach "further programming and veryfication disabled" wszystko fajnie odczytałem pamięć flash i w pliku hex otrzymałem pare znaków (:00000001FF) super zablokowane ale naszło mnie by sprawdzić co pokaże programator wewnętrzny arduino i zaskoczenie bo on odczytał pamięć flash jak by nie była zabezpieczona. Kompletny plik hex z programem. Czy ja coś źle zrobiłem? Szukam na necie rozwiązania problemu ale nigdzie nie mogę znaleźć. Dziękuję i pozdrawiam Link do komentarza Share on other sites More sharing options...
_LM_ 16 stycznia Udostępnij 16 stycznia 12 minut temu, Tom28 napisał: Kompletny plik hex z programem to teraz jak masz możliwość porównaj ten HEX z tym co był wgrany do mikrokontrolera Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »