Jest jakiś środek tygodnia, godzina 23.30. Siedzę z kubkiem herbaty wpatrując się w ekrany monitorów. Mój skrypt w Pythonie, który zbiera coś z Internetu nagle przestaje działać. Cóż, problem trzeba jakoś rozwiązać. W zasadzie możliwości są dwie: albo jest to skutek zmęczenia materiału w postaci jakiegoś niezamówionego buga w kodzie…
Czytaj dalej »
Ostatnie zadanie było trochę inne niż wszystkie – więcej działania oprócz samej analizy. Musiałeś pogonić aplikację, aby ta uruchomiła pewną funkcję, chociaż nie miała tego w planach. Dałeś radę? Mam szczerą nadzieję, że nie szukałeś rozwiązania w Internecie, a w swojej głowie, oczywiście z pomocą gdb. Jeśli nie dałeś rady,…
Czytaj dalej »
Dzisiaj wchodzimy poziom wyżej. Zobaczysz, jak działają funkcje, poznasz w końcu, co to jest ten stos, no i będzie standardowo mała robota do pyknięcia. Rozpoczynamy od rozwiązania zadania z lekcji 2. Praca domowa Zadanie rozpoczynasz od linii +28: Ładujemy sobie do rejestru $v0 wartość 1. Naszą jedynkę wrzucamy do pamięci…
Czytaj dalej »
W kolejnym odcinku naszej serii przeanalizujemy pętlę for(), a także sprawdzimy, co odróżnia MIPSa od MIPSela. Będzie też bonus w postaci pracy domowej. Zacznijmy jednak od zadania domowego z lekcji 1. Praca domowa z lekcji 1. Rozwiązanie zadania 1 całkowicie pozostawiam Twojej ciekawości. Co do zadania 2 to przeanalizujmy sobie…
Czytaj dalej »
Cześć. Rozumiem, że trafiłeś na ten mini kurs ponieważ chcesz rozpocząć swoją przygodę z MIPS’em w kontekście bezpieczeństwa, poznać assembly i zagłębić się w proces reverse engineeringu różnych aplikacji opartych o tą właśnie architekturę. No i super, w takim razie czeka Cię trochę wiedzy do przyswojenia i masa ciekawych, nowych…
Czytaj dalej »
Szukałem ostatnio czegoś co przyspieszyło by naukę reveng dla platform alternatywnych do x86 (głównie: ARM/MIPS) i znalazłem to narzędzie obsługiwane ze zwykłej przeglądarki. Piszemy kod w C++ i mamy niemal od razu widok odpowiednich instrukcji assemblera. Dodatkowo, dana linijka w C++ i odpowiadające jej instrukcje assemblera oznaczane są tym samym kolorem: Dalej,…
Czytaj dalej »