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 А также было бы не плохо, если кто-нибудь скинул описание этой функции или где можно посмотреть ее исходный код. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.