Das ASLR -Verhalten unterscheidet sich zwischen der VSCODE -Run -Taste und der Befehlszeile
Posted: 08 Aug 2025, 02:29
Das Buch sagte, dass ASLR bei Linux standardmäßig aktiviert ist, aber wenn ich versuche, es zu bestätigen, finde ich ein seltsames Problem: Wenn ich in VSCODE auf die Schaltfläche Ausführen klicke, gibt es immer eine feste Stapeladresse aus und ASLR funktioniert nicht, aber wenn ich die ausführbare Datei ausführe, die von VSCODE in Bash generiert wird, arbeitet ASLR. class = "Lang-C PrettyPrint-Override">
Die Ausgabe des Klickens auf die Schaltfläche "C/CPP -Datei ausführen":
Ich habe überprüft, ob ASLR auf meinem Computer geöffnet ist. Ich möchte wissen, was der Unterschied zwischen dem Klicken auf die Schaltfläche und dem Ausführen mit Bash?
Code: Select all
#include
int main() {
long local;
printf("local at %p\n", &local);
return 0;
}
Code: Select all
local at 0x7fffffffd250
< /code>
Die Ausgabe des Ausführens der ausführbaren Datei in Bash (Mehrere Beispiele für zufällige Adressen): < /p>
local at 0x7ffed0965fb0
local at 0x7fff3eff7630
local at 0x7ffc0e083a00