ESP8266: Spojrzenie na firmware

Pora na testowanie i zabawę z softem. Istnieje wiele różnych nieformalnych, otwartych projektów, dostarczających niezależne firmware dla modułów WiFi opartych na chipsecie ESP8266. Dlatego postanowiłem bliżej przyjrzeć się kilku wybranym. Pozwoli mi to co nieco zagłebić się w temat i spojrzeć, jak to wygląda od kuchni. A jak wiadomo takie rzeczy najlepiej poznaje się przy … Czytaj dalej ESP8266: Spojrzenie na firmware

SaeLog #9: Outro

Niniejsza notatka jest podsumowującą całą serię edukacyjnych wpisów SaeLog, jakie w tym roku na przestrzeni kilku miesięcy pojawiały się na blogu. Seria dotyczyła hackowania modyfikacji kodu firmware oraz aplikacji analizatora logicznego firmy Saleae, aby ten działa również z nieoficjalnymi wersjami (klonami) urządzenia, gdzie używane są różne typy pamięci EEPROM. Problem ostatecznie został rozwiązany, więc nie … Czytaj dalej SaeLog #9: Outro

Opublikowano Kategorie /dev/null

SaeLog #8: Aplikowanie zmian do kodu programu

W wolnych chwilach pracowałem nad funkcjonalnością patchowania plików w moim projekcie strzykawki – syringe. Funkcja ta ukazała się pod postacią komendy patch. Nie tylko potrafi ona nakładać IDA-owe pliki diff na standardowe binarki, ale także, co było dla mnie ważne, bezpośrednio na dane zapisane w formacie IntelHex. Takiej możliwości potrzebowałem, aby móc dokończyć całą zabawę … Czytaj dalej SaeLog #8: Aplikowanie zmian do kodu programu

Opublikowano Kategorie /dev/null

SaeLog #7: Firmware z detekcją typu EEPROM

Nawiązując do moich hacków firmware’u analizatora przedstawionych w poprzednim poście z serii SaeLog, zastanawiałem się czy dokonana modyfikacja kodu jest dobra. Oczywiście jest, dla kogoś kto posiada płytkę z pamięcią adresowaną 2-bajtowo. Mimo to czuję jakiś niesmak, bo wielokrotnie wspominałem o dodaniu obsługi większych kostek, to finalnie moje modyfikacje firmware-u ograniczyły się do sztywnej „zamiany” … Czytaj dalej SaeLog #7: Firmware z detekcją typu EEPROM

Opublikowano Kategorie /dev/null

SaeLog #6: Hacki w firmware w obsłudze EEPROM

Zabrałem się za zabawy z firmwarem, którego celem jest dodanie wsparcia pamięci EEPROM adresowanych wordem a nie bajtem. Odkąd mogę testować swoje hacki bezpośrednio na urządzeniu, całą uwagę mogę poświecić na tych zadaniu, skupiając się na analizach i eksperymentach. Moje urządzenie, jak i oryginalna wersja posiada pamięć EEPROM, która FX2 używa do różnych celów, między … Czytaj dalej SaeLog #6: Hacki w firmware w obsłudze EEPROM

Opublikowano Kategorie /dev/null

SaeLog #5: Testy, enumeracja i deskryptory USB w FX2

Kolejny odcinek z serii SaeLog odnośnie hackowania sprzętu i oprogramowania (głównie) analizatora logicznego. Od ostatniego wpisu minęło sporo czasu, dokładnie 4 miesiące. Jakoś tak się złożyło, że nawał obowiązków i innych spraw (wyjazdów, urlopów i przede wszystkim praca) nie pozwoliły mi szybciej wrócić do tego tematu. Ale udało się i mam nadzieję, że kilka kolejnych … Czytaj dalej SaeLog #5: Testy, enumeracja i deskryptory USB w FX2

Opublikowano Kategorie /dev/null

SaeLog #4: Firmware i jego ekstrakcja

Chcąc zajrzeć do kodu firmware zaszytego w urządzeniu Saleae Logic, trzeba go najpierw jakoś zdobyć. Kod ten w typowej aplikacji USB-FX2 ładowany jest do urządzenia po uprzednim jego wykryciu przez oprogramowanie zainstalowane na komputerze, wprost poprzez port USB. Idąc tym tropem można być pewnym, że znajdzie się go gdzieś w paczce z aplikacją lub w … Czytaj dalej SaeLog #4: Firmware i jego ekstrakcja

Opublikowano Kategorie /dev/null

SaeLog #3: Fake EEPROM

Już od jakiegoś czasu przyglądałem się kodowi zaszytemu w chipie oraz starałem przypomnieć sobie asemblera 8051. Robiąc sobie małą przerwę od analizy firmware, całkiem przypadkiem trafiłem na małą niespodziankę. Po odłączeniu pamięci EEPROM (wyjęcie zworki) już po wykryciu i załadowaniu oprogramowania do układu, nie stwarza żadnych widocznych problemów z softem. Aplikacja się nie wywala i … Czytaj dalej SaeLog #3: Fake EEPROM

Opublikowano Kategorie /dev/null

SaeLog #2: Komunikacja z pamięcią EEPROM

Jedną z pierwszych rzeczy niezbędnych do rozwiązania problemu, a może tylko do poznania mechanizmu działania komunikacji programu z pamięcią EEPROM, jest analiza funkcji, które za to odpowiadają. Obiekt LogicAnalyzerDevice udostępnia dwie metody do służące do tego celu, są to ReadEeprom i WriteEeprom. Wspominałem już o nich w poprzedniej części, ale dopiero niedawno udało mi się … Czytaj dalej SaeLog #2: Komunikacja z pamięcią EEPROM

Opublikowano Kategorie /dev/null

SaeLog #1: Intro

Nowe wersje oprogramowania dla analizatora logicznego Saleae Logic mają problemy z obsługą nieoryginalnego sprzętu opartego na prostej aplikacji kostki CY7C68013A, w którym zastosowano większą pamięć adresowaną wordem. Napomknąłem o tym problemie w poprzedniej notce przy okazji testów płytki deweloperskiej z układem Cypressa w roli analizatora logicznego. Obiecałem sobie również, że spróbuje rozwiązać ten problem programowo, … Czytaj dalej SaeLog #1: Intro

Opublikowano Kategorie /dev/null