2016-07-01 17 views
0

Dies ist ein typischer Puffer: buff = "A" * 2000 + addr_in_little_endien + shellcodeStack-Überlauf: Rücksendeadresse in Little-Endian

Ich frage mich, warum wir die Adresse in Little-Endian schreiben sollte, nachdem alle, wenn unser Puffer normalerweise im Speicher kopiert wird, wird es in wenig kopiert Endian und als es drängte, wurde es wieder normal.

Antwort

3

Da der Puffer vom ausgenutzten Programm als String behandelt wird, wird Byte für Byte geschrieben. Somit müssen die gewünschten Inhalte mit dem übereinstimmen, wie der Speicher am Ende aussehen soll, d. H. Adressen müssen Little-Endian sein.