Syringe – moja mała strzykawka (kodu)

Wydobywając kod firmware z kodu procesu Sealogic (SaeLog #4), w jednym z możliwości związanych z hookowaniem transmisji USB, wspomniałem o technice wstrzykiwania kodu do uruchomionego procesu, wykorzystującej popularną metodę ze zdalnym wątkiem (CreateRemoteThread). Sugerując przy tym wykorzystanie dostępnych w sieci injectorów lub napisanie czegoś własnego. Od tego czasu, w wolnych chwilach, próbowałem okiełznać i uporządkować … Czytaj dalej Syringe – moja mała strzykawka (kodu)

Windows Internals: LastErrorToBreakOn

W kodzie Windowsa można znaleźć czasem ciekawe fragmenty, które skrywają pomocne mechanizmy i sposoby ułatwiające debugowanie różnych elementów, nie tylko systemowych. Część, jeśli nie wszystkie, takie wstawki nie są nigdzie udokumentowane. Zatem nic dziwnego, że dziś znów trafiłem na kolejny taki trick w kodzie systemowym. Mowa tutaj o conditional breakpoint przy ustawianiu kodu błędu, co … Czytaj dalej Windows Internals: LastErrorToBreakOn

Portfel akcji 2Q 2015

Mija kolejny kwartał, a mojej aktywności na rynku brak. Chociaż początek był bardzo dobry, wydawało się, że nic nie zakłóci mojego planu, no ale jak nie Ukraina to Grecja, albo wielka przecena Energii. A tymczasem przedstawiam małe podsumowanie mijających dziś 3 miesięcy. Sytuacja na GPW Po rosnących indeksach w kwietniu mogłoby się wydawać, że wreszcie … Czytaj dalej Portfel akcji 2Q 2015

Sekcje i segmenty w plikach wykonywalnych (PE)

Mała przerwa od serii zabaw kodem analizatora logicznego. W ostatnim wpisie o ekstrakcji kodu firmware (SaeLog #4) wspomniałem o kilku innych, ciekawych tematach. Jednym z nich była kwestia związana z przechowywaniem stałych danych w sekcji .rdata, o których teraz chciałbym nieco więcej powiedzieć. A szczególnie o tym jak pisanie kodu rzutuje na generowany przez kompilator/linker … Czytaj dalej Sekcje i segmenty w plikach wykonywalnych (PE)

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

Portfel akcji 1Q 2015

Jak szybko ten czas leci, już 3 miesiące mineło, nie tak dawno Nowego Roku, a ja ciągle wspominam swoje rozważania nad zeszłorocznym raportem dotyczącym mojej aktywności giełdowej, a tutaj nadaża się już kolejna okazja do kwartalnego podsumowania mojej udręki z inwestycjami giełdowymi. Ten pierwszy kwartał roku 2015 nie wypadł wcale najgorzej. Mogę nawet powiedzieć, że … Czytaj dalej Portfel akcji 1Q 2015

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

Muzeum Techniki i Przemysłu

W miniony weekend wybrałem się z dziewczyną do Muzeum Techniki i Przemysłu działającego w Warszawie. Na 2 piętrach muzeum zebrano pokaźny zbiór eksponatów i sprzętu dotyczącego historii polskiej techniki i nie tylko. Ponadto oprócz wystaw stałych, muzeum organizuje wystawy czasowe, często z różnych okazji i rocznic. Naprawdę ciekawe, fajne rzeczy można tam zobaczyć, a każdy … Czytaj dalej Muzeum Techniki i Przemysłu

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