我想在Mac OS X Snow Leopard中禁用ASLR,并使用gcc进行缓冲区溢出和栈溢出。 有人知道如何禁用ASLR吗?
我想在Mac OS X Snow Leopard中禁用ASLR,并使用gcc进行缓冲区溢出和栈溢出。 有人知道如何禁用ASLR吗?
Asan的作者列举了几种在MacOS中禁用ASLR的方法:https://code.google.com/p/address-sanitizer/issues/detail?id=29
对于10.6版本:
export DYLD_NO_PIE=1
--no-pie
标志,取消已链接可执行文件中的MH_PIE位。此脚本链接:http://src.chromium.org/viewvc/chrome/trunk/src/build/mac/change_mach_o_flags.py?view=markup
或者使用--no_pie标志链接程序。您可以设置环境变量 "DYLD_NO_PIE"。请参阅 "man dyld"。这在 OS X 10.6 上有效,但在 10.5 上无效。
PIE
代码。缓冲区溢出和堆栈溢出保护不仅限于ASLR。 - osgx