最近在学C语言程序设计时总是遇到一些概念理解上的不清晰与混乱的地方,在一次偶然间想到了以前看过的一部电影<我是谁,没有一个系统是安全的>,里面的主角用社会工程学的想法结合黑客知识化险为夷,给予了很大的震撼与启发.所以我想如果将现实中C语言的一些概念和人类社会联系起来,会不会产生一些奇妙的结果. 首先我们应该先从C语言中最基本的概念开始(如果能将C语言中的基本概念与人类社会中的一些基本的概念联系起来的话,根据图灵计算的原理,那么我的这种想法很有可能也行得通),如果将变量与常量比作住在房子里的人的…
概念: restrict,C语言中的一种类型限定符(Type Qualifiers),用于告诉编译器,对象已经被指针所引用,不能通过除该指针外所有其他直接或间接的方式修改该对象的内容. 渊源: restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代码.如…
前述:基于上学期完成的数据结构的课程设计,对于老师的提出要求实现的基础上,自己在使用过程中发现每次打开程序都需要重新输入数据,于是便决定,将文件读写功能加入此次课程设计中,以下是我的一些心得和浅显理解. C语言中文件读写的一些浅显理解 由于本科课程中,对于文件读写这一方面老师没有涉及,后来一直也很少使用,也没有做过深刻的理解和认知,没有查阅课本资料之前自己以为只能按顺序或者指定位置读取指定多少个字节数据,查询课本之后发现,所现有的功能远比我想象的丰富,使用起来非常方便. 打开或关闭文件 顺序方式…
c语言中,数据类型有short,int,long,char,float,double,然后除了浮点型只有 有符号数(signed)外,其他的数据类型都分为有符号(signed)和无符号(unsigned).这些数据类型都有一个取值范围,下面我就通过char类型来表达我对数据类型取值范围的计算的理解. 大家都知道 char 类型是1个字节=8个二进制位,其取值范围是:-2^7~2^7-1:那么这个取值范围是怎么计算得来的呢,首先我们说说,在计算机中,一个变量的最高位表示符号位,规定0代表整数,1代…
针对C#中的字段和属性,很多初学者无法区分这两者之间的区别. 字段与属性比较 字段;是一种“成员变量”,一般在类的内部做数据交互使用,占用内存空间. 属性:a.是一种逻辑变量,一般跟字段一起结合起来使用,是字段的扩展,并不占用实际的内存. b.属性其实就是外界访问私有字段的入口,属性本身不保存任何数据.在面向对象设计中主要使用属性描述对象的静态特征. c.属性设置过程中一般会用到get和set两个方法.可以在方法里加入逻辑处理数据,灵活拓展使用. 标注:因为属性不占用实际内存,所以属性不能用于方…
对于程序员,一般来说,我们可以简单的理解为内存分为三个部分:静态区,栈,堆. 很多书没有把把堆和栈解释清楚,导致初学者总是分不清楚. 其实堆栈就是栈,而不是堆. 堆的英文是heap:栈的英文是stack,也翻译为堆栈.堆和栈都有自己的特性,这里先不做讨论. 陈正冲老师在此处打了一个比方:一层教学楼,可能有外语教室,允许外语系学生和老师进入:还可能有数学教师,允许数学系学生和老师进入:还可能有校长办公室,允许校长进入. 同样,内存也是这样,内存的三个部分,不是所有的东西都能存进去的. 静态区:保存…
/************************************************************************* > File Name: ptr_ptr_int.c > Author: Mr.Yang > Purpose:演示指向整型的指针的指针 > Created Time: 2017年06月03日 星期六 18时34分58秒 **********************************************************…
社会工程学工具包(SET)是一个开源的.Python驱动的社会工程学渗透测试工具.这套工具包由David Kenned设计,而且已经成为业界部署实施社会工程学攻击的标准.SET利用人们的好奇心.信任.贪婪及一些愚蠢的错误,攻击人们自身存在的弱点.使用SET可以传递攻击载荷到目标系统,收集目标系统数据,创建持久后门,进行中间人攻击等.本节将介绍社会工程学工具包的使用. 7.3.1 启动社会工程学工具包 使用社会工程学工具包之前,需要启动该工具.具体操作步骤如下所示. (1)启动SET.在终端执行如…
不多说,直接上干货! 首先,如果你是用的BT5,则set的配置文件是在 /pentest/exploits/set/set_config下. APACHE_SERVER=ONSELF_SIGNED_APPLEF=ONAUTO_DETECT=ON 如果,你也是跟我一样,使用的是kali linux 2016.2(rolling),则set的安装目录默认是在 这也是本博文的重心.默认现在,是不需如BT5那样配置了. 社会工程学工具包(SET)是一个开源的.Python驱动的社会工程学渗透测试工具.这…
在C语言中有一个非常重要的概念-函数指针,其最重要的功能是实现回调函数(指函数先在某处注册,而它将在稍后某个需要的时候被调用)在java语言中没有指针的概念,但是可以利用接口和指针实现类似的功能,具体而言,应先定义一个接口,最后把这个实现类的一个对象作为参数传递给调用程序,调用程序通过这个参数来调用指定的函数,从而实现回调函数(这里接口就像是注册的地方,实现类就是“注册人”,当实现类作为形参时,就是在需要的时候) package strateryDemo; import java.util.Ar…