2013年4月17日

linux 进程内存解析

摘要: 之前我所了解的linux下进程的地址空间的布局的知识,是从APUE第2版的P430得来的,之后上网查了一些资料,大概弄了明白。一个linux进程分为几个部分(从一个进程的地址空间的低地址向高地址增长):1.text段,就是存放代码,可读可执行不可写,也称为正文段,代码段。2.data段,存放已初始化的全局变量和已初始化的static变量(不管是局部static变量还是全局static变量)3.bss段,存放全局未初始化变量和未初始化的static变量(也是不区分局部还是全局static变量)以上这3部分是确定的,也就是不同的程序,以上3部分的大小都各不相同,因程序而异,若未初始化的全局变量定义 阅读全文

posted @ 2013-04-17 16:24 云化雨 阅读(484) 评论(0) 推荐(0) 编辑

Linux下缓冲区溢出攻击的原理及对策

摘要: 王勇(yongwang@buaa.edu.cn)北京航空航天大学计算机学院系统软件实验室简介:本文首先向读者讲解了Linux下进程地址空间的布局以及进程堆栈帧的结构,然后在此基础上介绍了Linux下缓冲区溢出攻击的原理及对策。发布日期:2003 年 10 月 01 日前言从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函数返回地址这样的重要数据保存在程序员可见的堆栈中,因此也给系统安全带来了极大的隐 阅读全文

posted @ 2013-04-17 16:23 云化雨 阅读(371) 评论(0) 推荐(1) 编辑

导航