Interaktivní osnova
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
-
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
-
Nyní studovatSystémové programování Windows (vyučující Roman Štěpánek)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Organizace tématické skupiny
-
•Podmínky dokončení
-
•Téma 1: Úvod do Windows API
-
•Téma 2: Procesy
-
•Téma 3: Vlákna
-
•Téma 4: Dynamic-link library
-
•Téma 5: Registry
-
•Téma 6: Paměť
-
•Téma 7: Event Log
-
•Téma 8: Služby
-
•Téma 9: Security Descriptor
-
•Téma 10: Data Protection API
-
•Téma 11: Kam dál?
-
-
Nyní studovatOvladače jádra -- Linux (vyučující Jiří Slabý)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky dle tématické skupiny
-
•Téma 2: Rozhraní s uživatelem
-
•Téma 3: Ladění chyb (debugging)
-
•Téma 4: Chyby souběhu
-
•Téma 5: Práce s pamětí
-
•Téma 6: Datové struktury
-
•Téma 7: Komunikace mezi procesy
-
•Téma 8: Komunikace s HW
-
•Téma 9: Časovače, přerušení
-
•Téma 10: Paměť trochu jinak I.
-
•Téma 11: Paměť trochu jinak II.
-
•Téma 12: Síťové rozhraní
-
•Téma 13: Exploit
-
-
Nyní studovatBinární programování Linux (vyučující Jiří Slabý)
-
•Informace ke cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky
-
•Téma 2: Parsery
-
•Téma 3: Binární objektové soubory
-
•Téma 4: ELF a libelf I.
-
•Téma 5: ELF a libelf II.
-
•Téma 6: DWARF
-
•Téma 7: Linker skripty
-
•Téma 8: C bez libc
-
•Téma 9: Ladění funkčnosti
-
•Téma 10: Gdb a ladění výkonnosti
-
•Téma 11: Komunikace s HW
-
•Téma 12: Knihovny
-
•Téma 13: Exploit
-
Téma 1X: XXX
-
Téma 1X: XXX
-
-
Nyní studovatSystémové programování Linux (vyučujicí Petr Velan, Martin Drašar, Martin Husák, Jiří Novosad)
-
Téma 8: C bez libc
Teoretická část
- C bez libc
- Systémová volání
- Volací konvence
- Data z jádra
- Virtuální systémová volání (vsyscall, vdso)
Praktický úkol pro cvičení
- Procvičování teorie
Domácí úkol
- Změřte a porovnejte, jak dlouho trvá
- syscall
- vsyscall
- vdso volání (použijte parse_vdso.c z jádra)
- Vyberte si jedno volání, které zvládají všechny tři možnosti
- Zavolejte v cyklu několik tisíckrát
- Změřte dobu cyklu a vydělte počtem
- Vypište dobu v nanosekundách (a vepište do commit logu)
- To všechno bez libc (tj. s gcc -nostdlib)
-
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
-
Nyní studovatSystémové programování Windows (vyučující Roman Štěpánek)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Organizace tématické skupiny
-
•Podmínky dokončení
-
•Téma 1: Úvod do Windows API
-
•Téma 2: Procesy
-
•Téma 3: Vlákna
-
•Téma 4: Dynamic-link library
-
•Téma 5: Registry
-
•Téma 6: Paměť
-
•Téma 7: Event Log
-
•Téma 8: Služby
-
•Téma 9: Security Descriptor
-
•Téma 10: Data Protection API
-
•Téma 11: Kam dál?
-
-
Nyní studovatOvladače jádra -- Linux (vyučující Jiří Slabý)
-
•Informace pro cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky dle tématické skupiny
-
•Téma 2: Rozhraní s uživatelem
-
•Téma 3: Ladění chyb (debugging)
-
•Téma 4: Chyby souběhu
-
•Téma 5: Práce s pamětí
-
•Téma 6: Datové struktury
-
•Téma 7: Komunikace mezi procesy
-
•Téma 8: Komunikace s HW
-
•Téma 9: Časovače, přerušení
-
•Téma 10: Paměť trochu jinak I.
-
•Téma 11: Paměť trochu jinak II.
-
•Téma 12: Síťové rozhraní
-
•Téma 13: Exploit
-
-
Nyní studovatBinární programování Linux (vyučující Jiří Slabý)
-
•Informace ke cvičení
-
•Používané nástroje, knihovny, důležité zdroje...
-
•Téma 1: Úvod do problematiky
-
•Téma 2: Parsery
-
•Téma 3: Binární objektové soubory
-
•Téma 4: ELF a libelf I.
-
•Téma 5: ELF a libelf II.
-
•Téma 6: DWARF
-
•Téma 7: Linker skripty
-
•Téma 8: C bez libc
-
•Téma 9: Ladění funkčnosti
-
•Téma 10: Gdb a ladění výkonnosti
-
•Téma 11: Komunikace s HW
-
•Téma 12: Knihovny
-
•Téma 13: Exploit
-
Téma 1X: XXX
-
Téma 1X: XXX
-
-
Nyní studovatSystémové programování Linux (vyučujicí Petr Velan, Martin Drašar, Martin Husák, Jiří Novosad)
-