ptmalloc总结

Posted on 2018, Mar22, Thursday 15:09:34 • Tagged with pwn, heap

花了几天看了一下ptmalloc的源码,同时也解答了心中的一些疑惑,一些关键的流程,以及一些利用技巧在这总结一下

malloc

malloc的源码在malloc.c中,推荐搜索注释 —— malloc ,_int_malloc为malloc的本体

malloc流程如下:

// av为当前堆的arean的指针 nb为申请的大小被转换为chunk大小

if (av == NULL) //  如果是main_arean则在第一次malloc就被初始化了,不会在这初始化
  return sysmalloc(nb, av);

if (nb <= global_max_fast) { //global_max_fast是glibc中的一个全局变量
  // 如果有fastbin则脱出fastbin并返回
}

if (in_smallbin_range (nb …

Continue reading