几天前,我参加了一次面试,我被要求用C语言写一个程序,它会使系统崩溃/关闭系统。不用说,我觉得自己很傻,甚至不知道如何接近:
尽管如此,我还是尝试了一下,编写了占用大量内存的程序。但我的面试官对我的任何技巧都不满意。
发布于 2011-10-03 14:02:41
很容易编写一个调用未定义或实现定义的行为的程序。其中一些程序可能会使系统崩溃。
但根据定义,这是不一致的。现代的OSes费尽心思(虽然不是100%成功)来防止流氓应用程序使系统崩溃。
发布于 2011-10-03 14:37:07
没有可移植的方法来编写使系统崩溃的C程序。
fork bomb可能会使系统陷入困境,也可能不会。当然,fork是不可移植的--系统可以通过限制给定帐户可以创建的进程数来防御此类攻击。
当然,总会有这样的情况:
#include <stdio.h>
int main(void) {
puts("HEY YOU, PULL THE PLUG!!");
return 0;
}发布于 2011-10-03 14:32:59
我会试着向/dev/kmem写垃圾。这很有可能会导致不可恢复的系统崩溃。
https://stackoverflow.com/questions/7631423
复制相似问题