在Mac OS X Snow Leopard中禁用ASLR
基本上我想在Mac OS X Snow Leopard中禁用ASLR并使用gcc todo一些缓冲区溢出和堆栈溢出。 有谁知道如何禁用ASLR?
Asan的作者列举了几种在MacOS中禁用ASLR的方法: https : //code.google.com/p/address-sanitizer/issues/detail? id = 29
10.6
export DYLD_NO_PIE=1
适用于10.7及更新版本:
-
“使用脚本的
--no-pie
标志”取消已链接的可执行文件中的MH_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/
您可以设置环境变量“DYLD_NO_PIE”。 见“man dyld”。 这适用于OS X 10.6但不适用于10.5。