По сути, я хочу отключить ASLR в Mac OS X Snow Leopard и использовать gcc для переполнения буфера и переполнения стека. Кто-нибудь знает, как отключить ASLR?
Авторы Asan перечислили несколько способов отключить ASLR в MacOS: https://code.google.com/p/address-sanitizer/issues/detail?id=29
Для 10,6
export DYLD_NO_PIE=1
Для 10,7 и новее:
"сбросить бит MH_PIE в уже связанном исполняемом файле" с флагом --no-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/
Вы можете установить переменную среды "DYLD_NO_PIE".Смотрите "человек Дилд".Это работает на OS X 10.6, но не на 10.5.