Wykład dla KNI KERNEL (WFiS AGH)
Debugger na którym opiera się wiele graficznych narzędzi. Np. Clion udostępnia konsolę GDB. Poza podstawowymi funkcjonalnościami (break, run, continue) pozwala na wyświetlenie asemblera (disass , layout asm).
Ciekawy przykład użycia GDB do generowania shellcode
Umożliwia zobaczenie co dzieje się pomiędzy programem a kernelem Linuxa. Możemy zobaczyć wywołania systemowe (ang. syscalls) jakich użył program z argumentami i wartością zwracaną. Strace może selektywnie śledzić:
- operacjie na plikach (open,write,stat,chmod,unlink)
- procesy (fork, wait, exec)
- sieć
- sygnały (SIGSEGV,SIGINT,SIGTERM,SIGKILL)
Przykład: (src)
Możemy też sprawdzić z jakimi argumentami został wywołany program. Używając strace możemy zobaczyć co tak naprawdę oznacza gwiazdka – krótko mówiąc, zamieniła się w listę wszystkich plików w danym katalogu, a plik o nazwie –rf spowodował włączenie opcji recursive oraz force w rm.
Więcej tego typu rzeczy na "Unix wildcards gone wild"