GDB를 이용한 Heap Safe Linking 분석


GDB를 이용한 Heap Safe Linking 분석

이전 글: GDB를 통한 ptmalloc2 원리 분석 (malloc, free) 이전 글: 이번 시간에는, 이전에 다소 이론 및 구조적으로 살펴보았던 ptmalloc2를 GDB(GNU Debugge... blog.naver.com 이전에 ptmalloc2의 구조를 분석하겠다고 GDB를 켜서 Ubuntu 22.04 WSL(Ubuntu, 64bit) 환경에서 소스코드를 직접 컴파일해서 살펴볼 때, 아래와 같이 "Ubuntu 22.04 최신버전에서는 제대로 실습이 되지 않는다" 고 하였습니다. 이 글을 작성할 당시에는 이유를 잘 몰라서, 예전 버전, 즉 다운그레이드 된 버전의 환경(우분투와 glibc)을 이용해서 실습을 진행했습니다. 이게 문제점이 무엇이었냐면, 메모리의 heap 영역을 free() 함수가 실행되고 난 뒤에 tcache 등에 들어가 있는 free chunk들을 봐 보면 아래와 같이 fd(forward pointer)에 이상한 값이 들어가 있기 때문에 우리는 직관적으로 이게...


#Assembly #safe_linking #tcache #동적 #디버깅 #리눅스 #메모리 #메모리할당 #분석 #시스템 #ptmalloc2 #pointer #C #Clang #C언어 #fastbin #GDB #glibc #heap #malloc #memory #포인터

원문링크 : GDB를 이용한 Heap Safe Linking 분석