星黎 (@K4per)[PwnCourse:从0开始的PWN教程] 0-1-3 Stack & Calling convention 中发帖

👋佬友们别来无恙,今天是栈相关知识的讲解。本小节结束之后我们就要正式进入栈利用的学习啦。真是,绕了好大一圈呢 

🗃 Stack
在0-1-2中,我们简单了解了用户虚拟内存空间的各个区段,其中也提到了栈。我们摘取Wiki上的描述的话,是这样的 

堆栈(stack)又称为栈或堆叠,是计算机科学中的一种抽象资料类型,只允许在有序的线性资料集合的一端(称为堆栈顶端,top)进行加入数据(push)和移除数据(pop)的运算。因而按照后进先出(LIFO, Last In First Out)的原理运作,堆栈常用一维数组或链接串列来实现。常与另一种有序的线性资料集合队列相提并论。 

实际上,广义上的栈就是一种数据结构。这里我们所研究的栈是x86的计算机系统内存空间中用来储存函数的参数,返回值,返回地址,局部变量等数据的一个区段,这个区段整体是由广义上的栈所结构。 
所以,狭义上的栈,同样是一种后...
 
 
Back to Top