标签:
Linux OS
Ubuntu Stack Smashing 续
今天忍不住又捣腾了一把,验证了昨天的假设,Ubuntu 10.04下默认打开gcc的stack protector 功能,Fedora 13下默认关闭。
使用 gcc -fstack-protector 可以将该功能打开。使用gcc -fno-stack-protector 可以将该功能关闭。之所以昨天没试出来是因为,昨天的工程不止一个Makefile里定义了 CC = gcc. 今天改全,Ubuntu 下运行成功。在Fedora下加上保护,可以复现。
没想到这么快就解决了,爽。
标签:
Linux OS
Ubuntu 下 stack smashing
网上也有传说,用GCC -fno-stack-protector编译就可以去年保护,尝试之,无效,或者是我的Makefile 没改全也不一定。
只好再装上Fedora 13,末得光驱,硬盘安装,中间不小心在Windows下把Grub给写坏了,进了Grub Rescue, 并且找不到Linux的分区,最后厚着脸皮找人来修电脑,真TNND丢人。
结论:初步推断是代码有问题,确实是有栈溢出,在Fedora下没有检测,故暂时看上去OK,Ubuntu下有检测,挂了。并且我尝试去保护的方法不行或者是不完全。暂时无能力解决,Mark一下,以后解决。
还好代码不是我写的...
Subscribe to:
Posts (Atom)