Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 地址随机化是否依赖于操作系统或编译器_Linux_Security_Gcc_Assembly_Buffer Overflow - Fatal编程技术网

Linux 地址随机化是否依赖于操作系统或编译器

Linux 地址随机化是否依赖于操作系统或编译器,linux,security,gcc,assembly,buffer-overflow,Linux,Security,Gcc,Assembly,Buffer Overflow,在每次程序启动时使用gcc编译程序后启用ASLR时,其堆栈指针会更改。但在汇编中编写并使用“as”命令编译的类似程序中不会出现这种情况。堆栈指针总是相同的。操作系统不应该对ASLR负责吗 我的操作系统:Linux 64位它是操作系统(您没有指定)。你也没说你是怎么编译的。我的测试表明,即使对于一个简单的汇编程序,使用debian linux和binutils 2.22,堆栈也是随机的。我使用的是linux x64,编译的c程序(它的rsp每次都会改变):gcc sample.c-o sample

在每次程序启动时使用gcc编译程序后启用ASLR时,其堆栈指针会更改。但在汇编中编写并使用“as”命令编译的类似程序中不会出现这种情况。堆栈指针总是相同的。操作系统不应该对ASLR负责吗


我的操作系统:Linux 64位

它是操作系统(您没有指定)。你也没说你是怎么编译的。我的测试表明,即使对于一个简单的汇编程序,使用debian linux和binutils 2.22,堆栈也是随机的。我使用的是linux x64,编译的c程序(它的rsp每次都会改变):gcc sample.c-o sample和汇编one:as a.asm-o a.obj&&ld a.obj a,我认为这是导致某种保护的编译器。例如,如果使用-z execstack,则DEP将被禁用。