摘要:
指针三 通过先前指针的学习,了解了指针和地址以及数据的关系,现在结合先前的知识继续学习巩固 指针遍历数组 有了先前的基础,再来看看如何用指针遍历数组 代码 #include "stdafx.h" void function(){ short arr[5]={1,2,3,4,5}; short* p= 阅读全文
摘要:
指针二 先前介绍了指针的一些基本的知识,但都没有提到地址的概念,下面承接之前的笔记,继续学习指针 下面要介绍三个相关的内容:获取变量的数据类型 、 取变量地址和取地址中存储的数据 获取变量的数据类型 在C语言中可以使用下面的方法获取一个变量的数据类型: 代码 #include "stdafx.h" 阅读全文
摘要:
指针 什么是指针 一般关于指针的解释都离不开地址。这里先暂且忘记这个概念 指针其实也是一种数据类型,和先前学习的int float等数据类型没有实质上的区别,只不过这个数据类型是在先前学习的所有数据类型后面加上若干个*号,如char *,int *等等,这种数据类型被称为指针 任意类型后面都可以加上 阅读全文
摘要:
前言 信息收集也叫做资产收集。信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目录文件、开放端口和中间件信息等等。通过各种渠道和手段尽可能收集到多的关于这个站点的信息,有助于 阅读全文
摘要:
Switch语句 先前讲了分支结构的if else形式,除此之外还有一种分支结构:switch 此次就来以反汇编的角度研究switch语句,并与if else进行比较 Switch语句的使用 有关Switch语句在vc++6.0中生成的反汇编可分为4种情况,这4种情况的区分在于case的不同 cas 阅读全文
摘要:
结构体 C语言中的结构体是一种自定义的数据类型,一个结构体里可由其它各种类型组合而成 声明结构体 举个简单的例子,自定义一个为player的类型,如下: struct Player{ float hp; //人物血量 float mp; //人物魔量 int money; //人物金钱 int at 阅读全文
摘要:
二维数组 二维数组初始化 int arr[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; 查看反汇编 7: int arr[3][4]={ 8: {1,2,3,4}, 0040D498 mov dword ptr [ebp-30h],1 0040D49F 阅读全文
摘要:
汇编一维数组 之前的文章学习过了四种基本类型:char short int long的汇编表示形式 因为它们的数据宽度都小于等于32位,所以都可以只用一个通用寄存器来存储 接下来的数组显然就无法只用一个通用寄存器就可以存储了 在学习数组之前,再学习一个数据类型:long long(__int64), 阅读全文
摘要:
汇编比较三种循环 众所周知,在C语言可以使用可以使用三种循环,分别是:while、do…while和for 本文从汇编的角度出发,观察这三种循环的差异 范例代码 先贴出三种循环的代码,分别用这三种循环计算 0+1+2+3+4+5+6+7+8+9(从0一直加到9) #include "stdafx.h 阅读全文
摘要:
if else嵌套 这次来研究if else嵌套在汇编中的表现形式,本次以获取三个数中最大的数这个函数为例子,分析if else的汇编形式 求三个数中的最大值 首先贴上代码: #include "stdafx.h" int result=0; int getMax(int i,int j,int k 阅读全文