杂文
文章平均质量分 76
bajinbajin
在校大学生,哈尔滨工业大学
展开
-
ESP和EBP解释
一.概念分析经常看到下面这两句:pushl %ebp movl %esp,%ebp -------------------------------------------------------------------------------- esp是堆栈指针 ebp是基址指针 那两条指令的意思是 将栈顶指向 ebp 的地址 ----转载 2013-11-03 01:43:52 · 1215 阅读 · 0 评论 -
汇编各个寄存器详解
ebp和esp是32位的SP,BPesp是堆栈指针ebp是基址指针ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(E转载 2013-11-03 02:14:47 · 1275 阅读 · 0 评论 -
缓冲区溢出原理
缓冲区溢出的原因是由于字符串处理函数(gets等)没有对数组的越界加以监视和限制,结果覆盖了老的堆栈数据。程序在内存中的存储如图所示:程序是从内存低端向内存高端按顺序执行的,堆栈的生长方向与内存的生长方向相反,因此在堆栈中压入的数据超过预先给堆栈分配的容量时,就会出现堆栈溢出,从而使得程序运行失败;如果发生栈溢出的是大型程序还有可能会导致系统崩溃。看一段简单程序的执行过程中转载 2013-11-03 23:33:44 · 980 阅读 · 1 评论