美文网首页C语言C/C++
C语言最简单的攻击手段——黑客基本技能

C语言最简单的攻击手段——黑客基本技能

作者: C语言程序狮 | 来源:发表于2018-08-16 14:37 被阅读0次

    内存泄漏

    在C语言程序设计中,内存泄漏几乎是很难避免的,C程序产生泄漏内存,则运行速度会逐渐变慢,并最终停止运行;如果产生覆盖内存,程序会变得非常脆弱,很容易受到恶意用户的攻击。内存泄漏是一种隐性危害,它们很难被发现,通常不能在相应的源代码中找到错误,需要仔细分析与专门的检测工具才能发现。

    (1)内存泄漏的含义:

    通常我们所说的内存泄漏,是指分配出去的内存在使用之后没有释放掉,没有回收,长此以往,会造成没有足够的内存可以分配。一般表现为运行时间越长,占用的内存越多,最终导致系统奔溃。一般的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显式释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。

    (2)内存泄漏示例:

    #include 

    #include 

    int main()

    {

    while(1)//死循环

    {

    malloc(1024); //动态内存分配,分配1024个字节的内存

    }

    return 0;

    }

    这段代码有一个死循环,然后每次循环都会申请1024个字节的内存,却并没用手动释放内存,长此以往,会造成没有足够的内存可以分配,大家可以在自己的电脑上面试一下,然后打开任务管理器,看内存的使用率。轻则程序崩溃,重则死机,当然操作系统一般会有保护机制,不会产生太严重的后果

    写在最后

    喜欢小编的文章的朋友可以关注、收藏、转发、留言,阅读愉快!!

    如果有喜欢或者对C语言感兴趣的小伙伴可以加一下小编的C语言交流群815393895

    相关文章

      网友评论

        本文标题:C语言最简单的攻击手段——黑客基本技能

        本文链接:https://www.haomeiwen.com/subject/pexobftx.html