【发布时间】:2013-07-09 13:39:20
【问题描述】:
我正在学习本教程( https://www.youtube.com/watch?v=8xonDJe3YxI )与运行在 Arch linux x86_64 机器上的服务器(我使用 -m32 标志编译)。
一切都很好,但是当我使用gdb 打开核心转储文件时,它显示每次运行应用程序时esp 地址都会更改...
为什么esp 地址会改变?
我该如何处理才能继续遵循教程?
【问题讨论】:
-
可能与它的多线程方面有关吗?
-
另外,你确定你禁用了堆栈/地址随机化吗?
-
我确定,它已启用。大多数情况下,这是它的标志。
-
是的! ASLR 是问题,谢谢 :) 所以在现实世界环境中,内存是随机的,我应该为视频的“shellcode”部分(从 32:15 到 40:37)做什么?
-
为了研究/实验/教育的目的做这样的事情没有错
标签: linux memory-management assembly overflow x86-64