2015-09-18 65 views

回答

2

Linux(和大多數其他現代操作系統)正在做一些叫做Address space layout randomization的事情。這允許操作系統將堆棧,堆和庫移動到任意位置以防止某些類別的攻擊。

需要鏈接器支持的唯一部分是文本部分 - 您需要生成enter link description here以隨機化本節的開始。

關於部分的大小,文本部分顯然取決於二進制大小以及特定程序的初始化和未初始化數據部分。最大堆棧大小由內核控制,堆大小由程序中斷決定(有關圖形說明,請參見enter link description here),並可通過調用brk (2)來更改堆大小。

+0

謝謝。 ASLR被禁用後,我發現堆/棧被分配在固定地址。 – xywang

相關問題