![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
glibc源码分析
文章平均质量分 86
azraelxuemo
这个作者很懒,什么都没留下…
展开
-
glibc-2.23-free
文章目录测试代码 测试代码 和上节保持一样 #include<malloc.h> int main(){ void *p=malloc(0x18); free(p); p=NULL; }原创 2022-05-17 14:41:32 · 655 阅读 · 1 评论 -
glibc2.27-malloc(1)
文章目录测试代码第一次进入__libc_malloc__libc_malloc调用malloc_hook_inimalloc_hook_ini调用ptmalloc_initptmalloc_init调用malloc_init_state从malloc_init_state返回到ptmalloc_init从ptmalloc_init返回到malloc_hook_ini小小总结第二次调用__libc_malloc__libc_malloc调用tcache_inittcache_init调用_int_malloc原创 2022-03-21 14:55:23 · 643 阅读 · 0 评论 -
malloc源码分析(4)--free后malloc&&double free
文章目录测试代码__libc_malloc__libc_malloc调用_int_malloc_int_malloc回到__libc_malloc如何利用double free测试代码测试代码2 之前我们从源码的角度分析了如何初始化heap并且从top chunk分配出了第一个块fast bin,那么这次我们结合free fastchunk来分配相同size的fastbin 测试代码 #include<malloc.h> int main(){ void *p=malloc(0x原创 2022-03-17 19:34:23 · 1278 阅读 · 0 评论 -
malloc源码分析(2)--常用的常量&&变量&&方法
文章目录SIZE_SZDEFAULT_MXFASTget_max_fastMALLOC_ALIGN_MASKNBINSNSMALLBINSMIN_LARGE_SIZEin_smallbin_range 在glibc源码学习里面有时候会遇见一些#define ,当我们先大概知道一些会在调试的时候更轻松 [未完待续] SIZE_SZ 这个其实就是用来判断你当前运行环境是32位还是64位的,变化的长度 32位是4 64位是8 #define INTERNAL_SIZE_T size_t #define SIZE_原创 2022-03-13 13:51:20 · 887 阅读 · 0 评论 -
malloc源码分析(1)--glibc源码环境搭建&&32位&&64位
文章目录本地环境开始操作下载patchelf开始调试 本地环境 虚拟机 Description: Deepin 20.4 Release: 20.4 Codename: apricot 开始操作 #首先随便找个位置,mkdir libc用来保存你的最后编译好的so,我这里就用/home/xxx/libc cd /usr/src/ mkdir glibc cd glibc wget http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz t原创 2022-03-13 13:23:57 · 2441 阅读 · 0 评论