Spisu treści:
Definicja - Co oznacza Smash The Stack?
„Smash the stack” to slangowe określenie manipulowania programem w niektórych językach programowania. Ogólnie odnosi się do prób spowodowania zmian w losowym dostępie do pamięci, które mogą powodować błędy i sytuacje problemowe.
Rozbicie stosu jest również znane jako niszczenie stosu, nabazgowanie stosu lub zaklęcie stosu.
Techopedia wyjaśnia Smash The Stack
W językach C i pokrewnych stos jest abstrakcyjnym typem danych, który służy do kontrolowania dostępu do pamięci, na przykład przy zwracaniu zmiennych z jednej procedury lub funkcji do drugiej lub przy przydzielaniu zmiennych używanych w funkcjach. Funkcje i procedury przekazują między sobą zmienne, a zatem ciągły stos, z funkcjami takimi jak wskaźnik, służy do zarządzania tego typu alokacją dynamiczną.
W C polecenia „push” i „pop” manipulują stosem. Zniszczenie stosu następuje, gdy wywołania funkcji piszą poza koniec tablicy, co może uszkodzić stos wykonawczy i powodować błędy w dostępie do pamięci i użyciu adresów pamięci. Można to również nazwać przepełnieniem bufora.
