编程语言
文章平均质量分 89
C语言学习和见解,加入一些常使用的语言对比学习,例如go、erlang、rust、python等。
读书叔叔
这个家伙很懒,什么也没有写下
展开
-
由陌生到认识——微积分
认识微积分从这里开始原创 2022-01-07 17:50:35 · 1869 阅读 · 0 评论 -
黑客攻防入门(一)缓冲区(堆栈)溢出
1. 概说缓冲区溢出又叫堆栈溢出(还有许许多的称呼),这是计算机程序难以避免的漏洞,除非有新的设计方式将程序运行的堆栈设计取代。溢出的目的是重写程序的运行堆栈,使调用返回堆栈包含一个跳向预设好的程序的程序(代码),这个程序通常称为shellcode,通过这个shellcode就能获得如期的shell,更有可能获得root。2. 缓冲区溢出的原理计算机中每一个运行中的程序都有相同的内存布局(逻辑布局)原创 2016-07-26 13:29:12 · 8618 阅读 · 0 评论 -
黑客攻防入门(二)shellcode构造
1. 概说shell我们都知道是什么了吧! 狭义的shellcode 就是一段可以运行shell的代码!构造一段shellcode的作用就是为了在缓冲区溢出时将shellcode的地址覆盖掉正常的返回地址。shellcode通常放在缓冲区内,也可以通过环境变量存入堆内,也可以通过动态内存放入堆区。下面我们学习一下怎样构造shellcode。 注意: 我是在Centos 64位的系统下进行测试和构原创 2016-07-28 18:22:04 · 10974 阅读 · 4 评论 -
for循环里面的递归调用探讨
递归本来要来简化循环问题的,不过程序中往往却有for加递归一起使用的情况。我们在for里面堪套for,或者for里面的for再堪套for,都能很直观地理解。当for里面加入了递归,理解的层面就由三维跳到了四维,很难直接观看,要靠无穷的想像力。原创 2016-06-18 22:54:23 · 22117 阅读 · 1 评论 -
自学C之递归理解
1.递归是一个拗口的概念,其中包含了我中有我的哲学思想。2.递归在处理一些特别的问题时会有意想不到的效果,但慎用递归3.GDB调试中可以看到递归调用对栈空间的需求原创 2016-06-16 13:59:12 · 9230 阅读 · 2 评论 -
学习Linux的作用
Linux是一个操作系统的内核,通常用来代表linux系列的操作系统名称,相对于windows操作系统,Linux显得难学很多,那么学linux系统有什么用呢? 首先linux是开放源代码的操作系统,它的每一个操作,你都能够充分了解,并且可以按照你的想法加以修改,这对一个计算机学生或者计算机爱好者来说,无疑是有很大帮助的,它可以让你知道系统是怎样工作。原创 2016-06-15 10:51:22 · 15154 阅读 · 1 评论 -
GDB调试手册
Linux 包含了一个叫gdb 的GNU 调试程序。gdb 是一个用来调试C和C++程序的强力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值、它使你能设置断点以使程序在指定的代码行上停止执行、它使你能一行行的执行你的代码。在命令行上键入gdb并按回车键就可以运行gdb 了。(Windows需要安装MinGW或者CygWi转载 2016-06-14 22:27:48 · 1276 阅读 · 0 评论 -
C语言自学之指针理解
目的: 通过以下学习,希望能理解指针的概念,理解指针和数组的关系,牚握指针的定义,掌握指针的用法。1. 简述 用C语言写的代码基本上都用到指针,掌握好指针的概念对学好C有很大帮助。 为了方便理解我们可以把指针称作某一块内存的名字,通常计算机的内存会被分成许多小块,而每块都可以有一个名字,而实际上它每一块内存(一般一字节为一块)是有个编号的。为了更为直观,我们可原创 2012-04-26 20:23:45 · 4296 阅读 · 0 评论 -
人称史上最强大的vimrc
来源: http://amix.dk/vim/vimrc.html史上最强大,是有点戏称成份,不过,通读这个vim配置文件,从中能学到很vim相关知识。"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Maintainer: " Amir Salihefendic" http:转载 2016-06-06 11:37:46 · 4075 阅读 · 0 评论 -
剖析程序的内存布局
原文标题:Anatomy of a Program in Memory原文地址:http://duartes.org/gustavo/blog/翻译:http://blog.csdn.net/drshenlei/article/details/4339110内存管理模块是操作系统的心脏;它对应用程序和系统管理非常重要。今后的几篇文章中,我将着眼于实际的内存问题,但也不避讳其中的转载 2011-11-24 14:39:50 · 505 阅读 · 0 评论