티스토리 뷰
>> 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
최근에 올라온 글
최근에 달린 댓글
TAG
- fastbin
- stack reusing
- tcache
- hacking
- oob
- srop
- overflow
- SQLi
- shellcoding
- heap
- glibc
- exit
- 해킹
- TLS
- HackCTF
- fastbindup
- ebp change
- 본선가고싶다
- FSB
- rt_sigreturn
- pwable
- codegate
- pwnable.tw
- fsop
- pwnable
- Total
- Today
- Yesterday