Inżynieria wsteczna oprogramowania 1000-I2InWst
W trakcie zajęć student zapozna się z podstawami inżynierii wstecznej oprogramowania. Wśród podstawowych umiejętności nabywanych w trakcie zajęć jest umiejętność czytania kodu zapisanego w języku assembler jak również z wykorzystaniem instrukcji wirtualnej maszyny Java. Student nabędzie umiejętności związane z analizą statyczną plików binarnych. Student będzie w stanie przygotować bezpieczne środowisko do przeprowadzania analizy dynamicznej oprogramowania. Student zapozna się z podstawami działania debuggera. Student będzie potrafił wykonać analizę ruchu sieciowego.
Zakres tematów:
• Podstawy języka assembler
• Bezpieczne środowisko do przeprowadzania analizy
• Statyczna analiza plików binarnych
• Debugger i dynamiczna analiza oprogramowania
• Podstawy działania wirtualnej maszyny Java
• Analiza ruchu sieciowego
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne eksponujące
Metody dydaktyczne podające
Metody dydaktyczne poszukujące
- klasyczna metoda problemowa
- referatu
- ćwiczeniowa
Wymagania wstępne
Koordynatorzy przedmiotu
Kryteria oceniania
Zaliczenie na ocenę na podstawie samodzielnie stworzonych raportów
Literatura
1) Michael Sikorski, Andrew Honig, „Praktyczna analiza malware : przewodnik po usuwaniu złośliwego oprogramowania” przekład: Magdalena Rogulska i Mariusz Rogulski, PWN, 2021
2) Mateusz Jurczyk, Gynvael Coldwind, i in. „Praktyczna inżynieria wsteczna : metody, techniki i narzędzia”, Wydawnictwo Naukowe PWN, 2016
3) Maria Markstedter „Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna”, tłumaczenie: Łukasz Piwko, Helion, 2024
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: