Inhaltsverzeichnis:
Definition - Was bedeutet Smash The Stack?
"Smash the Stack" ist ein Slangbegriff für die Manipulation eines Programms in bestimmten Programmiersprachen. Dies bezieht sich im Allgemeinen auf Versuche, Änderungen beim wahlfreien Speicherzugriff zu verursachen, die zu Fehlern und Problemsituationen führen können.
Den Stapel zertrümmern wird auch als Müll, Kritzeln oder Zerquetschen des Stapels bezeichnet.
Techopedia erklärt Smash The Stack
In C und verwandten Sprachen ist der Stapel ein abstrakter Datentyp, der zum Steuern des Speicherzugriffs verwendet wird, beispielsweise zum Zurückgeben von Variablen von einer Prozedur oder Funktion zu einer anderen oder zum Zuweisen von Variablen, die in Funktionen verwendet werden. Funktionen und Prozeduren übergeben Variablen untereinander. Daher wird der zusammenhängende Stapel mit Features wie einem Zeiger zum Verwalten dieser Art der dynamischen Zuordnung verwendet.
In C manipulieren die Befehle "push" und "pop" den Stapel. Der Stapel wird zerstört, wenn Funktionsaufrufe über das Ende eines Arrays hinaus schreiben. Dies kann den Ausführungsstapel beschädigen und Fehler beim Speicherzugriff und bei der Verwendung von Speicheradressen verursachen. Dies kann auch als Überlaufen des Puffers bezeichnet werden.