内存分配的四个例子
原文在是:有关内存的思考题 在这篇基础上扩展了些知识,以做记录。
第一个例子:
char *GetMemory(char * p) {
p = (char *)malloc(100);
return p;
}
void Test(void) {
char *str = NULL;
GetMemory(str);
st...
分类:
其他好文 时间:
2015-02-02 19:55:13
阅读次数:
143
最近刚刚做完CSAPP的几个实验,在bufbomb实验中level2和level3,需要将攻击代码嵌入到缓冲区中并修改程序返回地址为缓冲区起始地址,但是遇到了栈不可执行的问题。因为ubuntu默认栈不可执行。这里总结了两种修改程序堆栈可执行属性的方法。方法一:(有.c源文件)gcc -g -z ex...
分类:
其他好文 时间:
2015-01-14 00:40:21
阅读次数:
338
1、 进程是程序的执行,会被加载到内存中,每个进程包括程序的代码和数据,其中数据包括程序的变量的数据,外部数据,程序堆栈。2、 Linux中,输入命令,如vi main.c 通过shell来执行,会建立一个新的进程来运行它。3、 多个用于可以同时运行同一个程序,每个用户对该程序的运行均是独立的进程,...
分类:
系统相关 时间:
2014-09-07 23:41:25
阅读次数:
326