sysmodel Опубликовано 23 апреля, 2017 Жалоба Опубликовано 23 апреля, 2017 Привет! Может кто знает с какой версии gcc стал вставлять вызов call [address] <__stack_chk_fail@plt> в конец каждой функции в программе? И можно ли как-то билдить с помощью gcc без вызова <__stack_chk_fail@plt>? Цитата
sysmodel Опубликовано 23 апреля, 2017 Автор Жалоба Опубликовано 23 апреля, 2017 Забыл уточнить, что компилирую .c файлы, т.е. c код. Хотя, я думаю, что эта функция вставляется во все бинарники в независимости от языка. И кстати, я заметил, что эта функция вставляется, только если есть в коде есть массив из char значений (это то что я заметил. Возможно, условий гораздо больше). Цитата
sysmodel Опубликовано 23 апреля, 2017 Автор Жалоба Опубликовано 23 апреля, 2017 Хотя мне кажется, что эта проверка целостности стека должна быть вшита в компилятор и никакими атрибутами не может отключаться в целях безопасности. Цитата
sysmodel Опубликовано 23 апреля, 2017 Автор Жалоба Опубликовано 23 апреля, 2017 А также было бы не плохо, если кто-нибудь скинул описание этой функции или где можно посмотреть ее исходный код. Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.