FILE文件结构介绍 发表于 2018-06-22 FILE结构FILE介绍FILE在Linux系统的标准IO库中是用于描述文件的结构,称为文件流。 FILE结构在程序执行fopen等函数时会进行创建,并分配在堆中。我们常定义一个指向FILE结构的指针来接收这个返回值。 FILE结构定义在libio.h中,如下所示 12345678910111213 ... 阅读全文 »
free源码分析——_int_free 发表于 2018-05-21 | 分类于 pwn 1. free源码分析—_int_free根据上一章的分析可知,如果一个chunk不是由mmap分配得到,就会调用_int_free进行释放。下面来看, 123456789101112void __libc_free(void *mem) { ... p = mem2chunk ... 阅读全文 »
free源码分析——__libc_free 发表于 2018-05-21 | 分类于 pwn 1. free源码分析—__libc_free本章继续之前的glibc中的《malloc源码分析》系列开始分析free的源代码,malloc的源码分析可以查看博客里同类别文章下的《malloc源码分析—1》到《malloc源码分析—5》,因此free的源码中有一些结构和malloc相似的地方就不会做 ... 阅读全文 »
malloc源码分析——sysmalloc 发表于 2018-05-21 | 分类于 pwn malloc源码分析—sysmalloc本章主要分析sysmalloc的代码,在《malloc源码分析—__int_malloc》中已经分析了部分sysmalloc的代码,主要用于对分配区进行初始化。本章查看余下的代码, 第一部分12345678910111213141516171819202122 ... 阅读全文 »
malloc源码分析——_int_malloc 发表于 2018-05-21 | 分类于 pwn 1. malloc源码分析—_int_malloc根据上一章的分析,malloc会调用__libc_malloc分配内存,__libc_malloc会调用malloc_hook_ini 进行初始化,然后回调__libc_malloc函数,这时候会执行_int_malloc开始分配内存,定义在mall ... 阅读全文 »