天翼云逆向安全知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖逆向安全相关内容资讯。开发者在逆向安全专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
指针二先前介绍了指针的一些基本的知识,但都没有提到地址的概念,下面承接之前的笔记,继续学习指针下面要介绍三个相关的内容:获取变量的数据类型 、 取变量地址和取地址中存储的数据获取变量的数据类型在C语言中可以使用下面的方法获取一个变量的数据类
指针什么是指针一般关于指针的解释都离不开地址。这里先暂且忘记这个概念指针其实也是一种数据类型,和先前学习的int float等数据类型没有实质上的区别,只不过这个数据类型是在先前学习的所有数据类型后面加上若干个*号,如char *,int
Switch语句先前讲了分支结构的if else形式,除此之外还有一种分支结构:switch此次就来以反汇编的角度研究switch语句,并与if else进行比较Switch语句的使用有关Switch语句在vc++6.0中生成的反汇编可分为
二维数组二维数组初始化查看反汇编可以发现其存储方式和一维数组并没有什么不同,仍然是从低地址开始连续存储对比一维数组查看反汇编代码:可以看到,其分配方式一模一样得出结论无论是一维数组,二维数组或者其它多维数组,其存储方式实质上并没有区别,都是
指针三通过先前指针的学习,了解了指针和地址以及数据的关系,现在结合先前的知识继续学习巩固指针遍历数组有了先前的基础,再来看看如何用指针遍历数组代码代码说明稍微说明的一下代码部分主要是声明了一个数组,然后用两种方法取得数组的首地址,一种是&a
汇编一维数组之前的文章学习过了四种基本类型:char short int long的汇编表示形式因为它们的数据宽度都小于等于32位,所以都可以只用一个通用寄存器来存储接下来的数组显然就无法只用一个通用寄存器就可以存储了在学习数组之前,再学习
汇编C语言类型转换类型转换类型转换的使用场景类型转换一般为由数据宽度小的转换成数据宽度大的,不然可能会有高位数据被截断的现象,引起数据丢失需要一个变量来存储一个数据,刚开始这个数据的数据宽度较小,后来发现存不下了,需要换一个数据宽度更大的变
指针作为参数代码运行结果 可以看到没有通过指针进行传参的数据在function内部修改后并没有影响到原本的数值而通过指针进行传参的数据在function2内部修改后就影响了原本的数值反汇编代码函数外部num初始化function和输出fun
if else嵌套这次来研究if else嵌套在汇编中的表现形式,本次以获取三个数中最大的数这个函数为例子,分析if else的汇编形式求三个数中的最大值首先贴上代码:先验证执行的结果是正确的:确认可以函数是可以取出三个数的最大值的,于是开
C语言基本类型不同于寻常的C语言基本数据类型的学习,这里以汇编的形式来学习不同数据类型的存储方式和差异C语言的数据类型C语言的基本类型属于C语言的数据类型的一部分: 这里先从最简单的基本类型进行入手学习,在学习基本类型之前再温故一下先前学习
C语言内联汇编和调用协定前面我们通过分析反汇编分析了C语言,现在我们来探究如何在C语言里直接自写汇编函数这里就要引入C语言中裸函数的概念裸函数声明裸函数裸函数与普通函数的区别在于在函数前多声明了以此来表面该函数是一个裸函数裸函数作用要讲裸函
全局变量和局部变量在提及全局变量和局部变量之前,需要先谈谈程序运行时在内存中的状态任何一个程序在运行时都会把内存分成如下几块区域:全局变量全局变量在程序编译完成后地址就已经确定下来了,只要程序启动,全局变量就已经存在了,启动后里面是否有值取
反汇编分析C语言空函数反汇编我们通过反汇编来分析这段空函数函数外部函数内部分析函数函数调用先就是通过call来调用我们的function函数函数内部接着进到函数的内部有了之前画堆栈图的经验,我们不难看出,尽管我们的函数是个空函数,但其汇编代
2023-08-03 06:47:48
2023-08-03 06:47:06
2023-08-03 06:47:48
2023-08-03 06:47:48
2023-08-03 06:47:48
2023-08-03 06:47:48