硬件为何有破绽
硬件为何会有破绽,严峻的破绽愈甚至会被好人用去施行歹意代码,形成宏大的经济丧失。
我们举一个简朴例子,那个例子是达内乱C言语培训时,一名教师提到的。详细以下:
- #include <stdio.h>
- #include <unistd.h>
- void bar(void)
- {
- printf("Hello,World\n");
- _exit(0);
- }
- void foo(void)
- {
- void *a[1];
- a[2]=(void *)bar;
- }
- int main()
- {
- foo();
- return 0;
- }
复造代码 代码注释:main( )函数挪用了foo( )函数;foo( )函数定义了一个数组,而且越界赋值;还有一个孤伶伶的bar( )函数,背末端输出Hello World,貌似出有正在任何处所被挪用,仿佛出有甚么感化。
代码感化曾经弄明白了,上面看运转结果,测试情况是centos32bit
centos32bit测试结果 结果是否是很惊奇!!!源代码中并出有挪用bar( )函数,为何正在法式运转时挪用了bar( )函数呢ÿ
免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作! |
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。