Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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
ASLR在linux中随机化了哪些地址?_Linux_Linux Kernel_Executable_Aslr - Fatal编程技术网

ASLR在linux中随机化了哪些地址?

ASLR在linux中随机化了哪些地址?,linux,linux-kernel,executable,aslr,Linux,Linux Kernel,Executable,Aslr,据我所知: CPU上有一个内存管理单元,控制对实际内存的访问。任何内存调用都会通过该单元,该单元将虚拟地址转换为实际内存地址。这允许计算机在64位计算机上拥有2^64字节的虚拟内存空间。当RAM不足时,CPU或MMU会在需要时从磁盘交换页面 linux上的ELF二进制文件由一个头文件组成,该头文件列出了二进制文件中各部分的地址(以及其他信息),其中包括代码部分和数据部分 ELF头还指定需要哪些共享库。这些文件由内核存储在内存中,当二进制文件被执行时,它们的地址由内核提供给进程 所以我的

据我所知:

  • CPU上有一个内存管理单元,控制对实际内存的访问。任何内存调用都会通过该单元,该单元将虚拟地址转换为实际内存地址。这允许计算机在64位计算机上拥有2^64字节的虚拟内存空间。当RAM不足时,CPU或MMU会在需要时从磁盘交换页面

  • linux上的ELF二进制文件由一个头文件组成,该头文件列出了二进制文件中各部分的地址(以及其他信息),其中包括代码部分和数据部分

  • ELF头还指定需要哪些共享库。这些文件由内核存储在内存中,当二进制文件被执行时,它们的地址由内核提供给进程

所以我的问题更具体地说是,作为ASLR的一部分,二进制文件、堆和堆栈的所有部分是否都给定了一个从基位置的随机偏移量


(很抱歉,如果有任何错误,我在汇编/C/C++编程方面不是很有经验,也不太了解二进制可执行文件的工作原理。)

编辑后,它看起来足够窄,应该是本体的(目前存在一个投票率很高的未关闭问题)