1

我正在尝试-fstack-protector-all在 GCC 3.4.3 编译器中设置选项以启用一些堆栈粉碎保护方案。但是,在使用此编译时出现
错误:无法识别的命令行选项“-fstack-protector-all” 。所以似乎这个选项没有在 GCC 3.4.3 中实现?还是我错过了什么?

如果它没有在较旧的 GCC 编译器中实现,那么最好/最简单的替代方法是什么?

或者也许一些有用的代码模式可以在 C 代码本身中实现堆栈粉碎保护器?

谢谢

4

1 回答 1

0

您似乎只是 gcc 版本的一个次要版本,似乎能够为您提供这种特殊的粉碎保护。我在谷歌搜索时发现了这个:

http://www.research.ibm.com/trl/projects/security/ssp/

也许您可以升级到那个(一个次要编号)并且仍然与您的供应商兼容?

此外,至少多年来金丝雀值在 gcc 中默认设置(无需使用您提到的选项),您是否看过简单程序的反汇编?如果您从堆栈末尾附近的 (gs) 位置看到一些存储/加载,则它已经实现。

于 2011-12-14T13:00:34.080 回答