
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 · 757 阅读 · 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 · 797 阅读 · 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 · 1357 阅读 · 0 评论 -
malloc源码分析(2)--常用的常量&&变量&&方法
文章目录SIZE_SZDEFAULT_MXFASTget_max_fastMALLOC_ALIGN_MASKNBINSNSMALLBINSMIN_LARGE_SIZEin_smallbin_range在glibc源码学习里面有时候会遇见一些#define ,当我们先大概知道一些会在调试的时候更轻松[未完待续]SIZE_SZ这个其实就是用来判断你当前运行环境是32位还是64位的,变化的长度32位是464位是8#define INTERNAL_SIZE_T size_t#define SIZE_原创 2022-03-13 13:51:20 · 964 阅读 · 0 评论 -
malloc源码分析(1)--glibc源码环境搭建&&32位&&64位
文章目录本地环境开始操作下载patchelf开始调试本地环境虚拟机Description: Deepin 20.4Release: 20.4Codename: apricot开始操作#首先随便找个位置,mkdir libc用来保存你的最后编译好的so,我这里就用/home/xxx/libccd /usr/src/mkdir glibccd glibcwget http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gzt原创 2022-03-13 13:23:57 · 2515 阅读 · 0 评论