티스토리 뷰

pwnable/정리

heap2.c

ba0bab 2018. 7. 25. 14:59


>> heap2.c


#include <stdio.h>


int main(){


char *a;

char *b;

char *c;


a = malloc(300);

b = malloc(250);

printf("%p\n", a);

printf("%p\n", b);

free(a);

c = malloc(250);


printf("%p\n", c);


return 0;

}


a를 300만큼 malloc 해주고 b를 250 malloc 해준다.


free(a)를 해주고


c를 250만큼 malloc 해주면 a 위치였던 곳에 할당이 된다. 300 -250 = 50 만큼은 리스트에 남아있게 된다.


사이즈가 같은면 똑같이 재할당 해준다.


단, 20바이트 이하는 따로 핸들링이 된다.(fastbin)

그래서 위 내용과 해당하지 않는다.

'pwnable > 정리' 카테고리의 다른 글

heap overflow  (0) 2018.07.25
heap exploit 공부  (0) 2018.07.25
fist fit, malloc, free  (0) 2018.07.25
fsb tip(fmtstr_payload)  (0) 2018.07.23
objdump 자주 쓰는거, nm  (0) 2018.07.13
Comments