Standardowo, wigilia jak i sylwester to w Polsce dni wolne od sesji giełdowej. Zatem podobnie jak rok wcześniej, podsumowanie ostatniego kwartału na rynkach finansowych wypada właśnie na przełomie 30 i 31 grudnia. Mógłbym całość podsumować jednym słowem “tragedia”, no ale wypada coś więcej napisać.
Sytuacja na GPW Sytuacja na rodzimym parkiecie przypomina początek bessy, kontynuowane były spadki rozpoczęte w zeszłych miesiącach, co bardzo ładnie widać na poniższym wykresie z głównymi indeksami.
Wraz z końcem roku swój jubileusz 20-lecia obchodzi popularne i kultowe polskie czasopismo dla elektroników - Elektronika dla Wszystkich. Tak się składa, że z tym miesięcznikiem miałem styczność w latach młodzieńczych. Mogę nawet powiedzieć, że to właśnie ono było pierwszym, które zaczeło ukierunkowywać moje techniczne zainteresowania w stronę elektroniki. Swego czasu byłem długim prenumeratorem, gdzieś do 200x roku (2004/5), do czasu kiedy przeszedłem na drugą stronę mocy, na stronę oprogramowania.
Znalazłem ciekawe tricki związane ze zmianami w opcodach instrukcji między x86 a x64. Odpowiednie wykorzystanie ich pozwala na łatwe wykrycie typu architektury i tworzenie wspólnej implementacji funkcji lub kodu dla obu tych platform. Co szczególnie może być użyteczne przy różnego rodzaju shellcodach i innych takich zabawkach.
Nad takimi konstrukcjami w syringe zacząłem się zastanawiać, po tym, jak w minionym tygodniu zmieniłem pewien hack, związany z określeniem długości kodu wstrzykiwanego przy ładowaniu dll-ki do procesu.
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 będzie kontynuacji tematu.
Poniżej lista wszystkich odcinków jakie ukazały się na blogu w ramach #SaeLog:
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ę z analizatorem logicznym Saleae Logic i finalnie zaaplikować wszystko do programu. A ostatecznie rownież wygenerować łatkę rozwiązującą problem.
Przez ostanie 2 tygodnie pochłaniała mnie tylko praca i rynek Forex, dlatego nie posunąłem się dalej w swoich planach technicznych, nie popracowałem nad projektami, nie poprogramowałem (co i tak rzadko się zdarza poza pracą), nie dokończyłem zabaw z #SaeLog i wielu innych rzeczy. Mimo, że były to ciężkie dni, to jestem zadowolony. Wróciłem na Forex i udało mi się zanotować niezłe wyniki, odrabiając starty z całego roku i nie tylko.
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” obsługi 1-bajtowo adresowanych EEPROM-ów na 2-bajtowe. Nie mogłem spać po nocach, a po głowie ciągle chodziła mi myśl, aby spróbować dostosować kod do obsługi obu typów pamięci.
Koniec urlopu zbiegł się z końcem 3 kwartału, a tym samym czasem podsumowania zabaw kapitałowych na rynkach akcyjnych. A na rynkach, mówiąc jednym słowem “tragedia”. A przy okazji, mimowolnie, stałem się inwestorem długoterminowym… będzie krótko i na temat…
Sytuacja na GPW Na GPW, w czasie ostatnich 3 miesięcy przeszły wielkie burze, co odzwierciedla poniższy wykres najważniejszych indeksów naszego rodzimego rynku.
Wpływ na to miało wiele czynników, poczynając od Grecji i braku porozumienia w Eurolandzie, przez zawirowania w Chinach, a kończąc na różnych wymysłach naszych polityków.
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 innymi do bootowania. Jest to pamięć szeregowa z serii AT24Cxx z komunikacją po magistrali I2C. A istotnymi różnicami między oryginałem a klonem (lub płytka developerską) jest wersja użytej kostki.
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 wpisów oznaczonych tagiem #SaeLog w miarę szybko się pojawi.
Korzystając z informacji zawartych w SaeLog#4 bez problemu udało mi się wyekstrahować kod firmware-u z aplikacji.