在Mac OS X中禁用ASLR Snow Leopard
问题描述:
本质上,我想禁用Mac OS X Snow Leopard中的ASLR,并使用gcc todo缓冲区溢出和堆栈溢出。任何人都知道如何禁用ASLR?在Mac OS X中禁用ASLR Snow Leopard
答
您可以设置环境变量“DYLD_NO_PIE”。请参阅“man dyld”。这适用于OS X 10.6,但不适用于10.5。
答
峨山作者列举了几种方式的MacOS禁用ASLR:https://code.google.com/p/address-sanitizer/issues/detail?id=29
10.6
export DYLD_NO_PIE=1
10.7及更高版本:
-
“取消所有在已链接的MH_PIE位可执行文件“与
--no-pie
脚本的标记http://src.chromium.org/viewvc/chrome/trunk/src/build/mac/change_mach_o_flags.py?view=markup
或使用--no_pie标志链接程序。
而且还有GDB用的硬方法:http://reverse.put.as/2011/08/11/how-gdb-disables-aslr-in-mac-os-x-lion/
我要说谷歌,但谷歌只是变成了你的问题。 :( – 2011-06-13 00:30:01
aslr是内核技术,它只需要从gcc生成PIE代码,缓冲区溢出和堆栈溢出保护比ASLR更广泛。 – osgx 2011-07-21 16:10:40