sysmodel

__stack_chk_fail@plt

4 сообщения в этой теме

Привет!

Может кто знает с какой версии gcc стал вставлять вызов call   [address] <__stack_chk_fail@plt> в конец каждой функции в программе? И можно ли как-то билдить с помощью gcc без вызова <__stack_chk_fail@plt>?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Забыл уточнить, что компилирую .c файлы, т.е. c код. Хотя, я думаю, что эта функция вставляется во все бинарники в независимости от языка. И кстати, я заметил, что эта функция вставляется, только если есть в коде есть массив из char значений (это то что я заметил. Возможно, условий гораздо больше). 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хотя мне кажется, что эта проверка целостности стека должна быть вшита в компилятор и никакими атрибутами не может отключаться в целях безопасности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А также было бы не плохо, если кто-нибудь скинул описание этой функции или где можно посмотреть ее исходный код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас