Reverse Engineering: Czytaj oprogramowanie, którego nigdy nie miałeś kodu źródłowego
Inżynieria wsteczna to dyscyplina analizy skompilowanego oprogramowania w celu zrozumienia, jak działa — bez dostępu do oryginalnego kodu źródłowego. Badacze bezpieczeństwa używają jej do znajdowania luk, analitycy złośliwego oprogramowania do rozbioru wrogiego kodu, a inżynierowie firmware'u do zrozumienia systemów wbudowanych. Ta ścieżka obejmuje pełny stos: od surowych formatów binarnych i Assembly'ego przez analizę statyczną i dynamiczną, aż do development'u exploitów i zaawansowanych technik anti-RE.
Czego się nauczysz
Zaczniesz od podstaw binarna — formaty wykonywalne, układ pamięci i jak kod wysokopoziomowy mapuje się na instrukcje maszynowe. Następnie będziesz czytać i rozumować o Assembly'u x86/x64 takim, jaki pojawia się w rzeczywistych wyjściach disassemblera. Użyjesz narzędzi analizy statycznej do badania binariów bez ich uruchamiania, a następnie przejdziesz do analizy dynamicznej i debugowania, aby obserwować wykonanie na żywo. Późniejsze kursy obejmują analizę złośliwego oprogramowania, optymalizacje kompilatora i sposób, w jaki zaciemniają intencję, scripting do zautomatyzowanej analizy statycznej i sztuczki anti-reverse-engineering'u używane w praktyce. Ścieżka kończy się inżynierią wsteczną firmware'u i systemów wbudowanych, badaniami podatności, development'em exploitów i przeglądem kierunku, w którym zmierza dziedzina.
Ścieżka nauki
Dwanaście kursów obejmuje poziomy A1 do C2. Kurs otwarcia przedstawia koncepcje kluczowe na poziomie A1 z bezpłatnym pierwszym wglądem; następne dwa kursy (A2–B2) rozwijają umiejętność czytania binariów i Assembly'ego. Cztery kursy B2/C1 obejmują główne przepływy pracy analizy: narzędzia statyczne, debugowanie dynamiczne, podstawy analizy złośliwego oprogramowania i scripting. Ostateczne cztery kursy działają na poziomach C1–C2 i podejmują najtrudniejszy materiał: optymalizacje kompilatora i ich wpływ na disassembly, firmware'u i cele wbudowane, badania podatności i development exploitów oraz zaawansowane tematy, w tym obecne trendy w dziedzinie.
Jak to działa
Każdy kurs podzielony jest na krótkie, ukierunkowane lekcje z praktycznymi ćwiczeniami w wbudowanym edytorze — czytasz Assembly'ego, adnotujesz binaria i pracujesz nad rzeczywistymi zadaniami analizy z natychmiastową informacją zwrotną. Tutor AI jest dostępny na każdym etapie, gdy utkniesz na sekwencji instrukcji, fladze narzędzia lub nieznanej strukturze binarnej.