GDB, czyli GNU Debugger, to potężne narzędzie do debugowania aplikacji. Pozwala ono na dynamiczną analizę kodu źródłowego i natywnego; procesów użytkownika, jak i jądra systemów. GDB jest jednak nieco „toporny”: niektóre z jego komend są niewygodne w użyciu, a tekstowy interfejs (TUI) mógłby wyświetlać więcej informacji. Sytuację tę poprawia tytułowe Pwndbg – plugin do GDB, z którym zapoznamy się w tym artykule...
Zagadnienia poruszane w tym artykule:
Do czego mi to Pwndbg?
Instalacja;
Konfiguracja;
Kolorowy interfejs oraz „teleskopowanie” wartości;
LEGEND;
REGISTERS (regs);
DISASM;
CODE;
GHIDRA;
STACK;
BACKTRACE;
EXPRESSIONS;
THREADS;
interesujące komendy;
Start programu;
Wyświetlanie stron pamięci wirtualnej procesu;
Teleskopowanie pamięci;
Nawigacja po programie;
procinfo, czyli informacje o procesie;
Lepszy hexdump;
Patchowanie instrukcji;
Aliasy Windbg;
Wyświetlanie kanarków/ciasteczek ze stosu;
Inne zaawansowane funkcjonalności;
Jak to działa? Czyli o „wnętrznościach" Pwndbg;
Sprinty z Pwndbg
Do artykułu dołączamy w postaci insertu (lub pliku .pdf w przypadku czasopisma w wersji elektronicznej) ściągawkę z najważniejszymi komendami GDB i Pwndbg - "Pwndbg cheatsheet”. Korzystajcie z tego dobra.
Artykuł pochodzi z magazynu Programista nr 104 (4/2023). Szczegółowy spis treści wydania nr 104: https://programistamag.pl/programista-4-2023-109/
Autorem artykułu jest Diminik 'DISCONNECT3D' Czarnota. Rozłączony zawodowo, zajmuje się audytami bezpieczeństwa systemu z firmą Trail of Bits, analizując kod oraz wykorzystując fuzzing czy statyczną analizę. Poza pracą gra CTFy wraz z justCatTheFish, uprawia sporty, gra w DoTA2 oraz prezentuje różne techniczne tematy na bran-żowych konferencjach i dla kół nakowych.