您的位置:网站首页 > Java教程 > 正文

C语言如何执行buf中的代码

类别:Java教程 日期:2017-11-17 14:15:44 人气: 来源:

  缓冲区溢出已经存在了很长时间了。它仍然存在于今天,部分原因是程序员在编写代码时不小心。我所说的“部分”原因是因为有时编写好的代码可以利用缓冲区溢出,因为这也取决于者的奉献和智能级别。

  我们至少可以做的是避免编写不好的代码,从而有机会甚至脚本小孩你的程序并利用它在这个缓冲区溢出教程中,我们将讨论以下的基础知识:

  在执行程序方面,缓冲区可以被认为是计算机主存储器的一个区域,它与引用此内存的程序变量在上下文中具有一定的界限。

  在的例子中,“buff”表示10个字节的数组,其中buff [0]是左边界,buff [9]是缓冲区的右边界。

  在的例子中,arr表示10个整数的数组。现在假设整数的大小是4字节,“arr”的总缓冲区大小是10 * 4 = 40字节。与第一个例子类似,arr [0]指的是左边界,而arr [9]是指右边界。

  当数据(意图写入存储器缓冲器)被写入缓冲器的左边界或右边界时,缓冲器被称为溢出。这样,数据将被写入到不属于引用缓冲区的程序变量的内存的一部分。

  在的例子中,我们声明了一个大小为10字节的数组。请注意,索引0到索引9可以用于指代这10个字节的缓冲区。但是,在下一行中,我们的索引10用于存储值“a”。这是缓冲区溢出发生的原因,因为数据写入超出缓冲区的右边界。

  我们中的一些人可能会认为,尽管缓冲区溢出是一个糟糕的编程习惯,但堆栈上的一个未使用的变量也是如此,那么为什么这么多的hullabaloo呢?什么是缓冲区超载可能对应用程序造成的影响?

  推荐:

  

0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved