ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Buffer Overflow 기초-Memory(1)
    System 2019. 4. 15. 01:30

    메모리 구조

    기본적인 메모리 구조이다.

    여기서 우리가 주의해야할 점은 스택은 높은주소에서 낮은주소로 쌓이고 먼저 들어온게 나중에(선입후출) 나오게 되고,

    힙은 낮은주소에서 높은주소로 쌓이고 먼저 들어온게 먼저(선입선출) 나오게 된다.

     

    CODE Segment 부터 천천히 들어가 보도록 하겠다. 

    -CODE Segment-

    프로그래머가 코드를 작성한 후 컴파일 하여 시스템이 알아볼 수 있는 기계어 코드가 담겨있다.

     

    -DATA Segment-

     프로그램의 전역 변수와 정적 변수가 저장되어 있는 영역이다.

     

    -Heap Segment-

    힙 영역에서는 동적할당 메모리가 저장된다.

    힙 영역에서는 먼저 들어온 데이터가 먼저 나오는 선입선출 개념이다.

    malloc()을 통하여 할당하고 free()를 통하여 해제가 가능하다.

     

    -Stack Segment-

    스택 영역은 우리가 함수를 호출하거나, 지역변수들이 자리잡는 공간이다.

    스택은 처음 생성될 때 필요한 만큼만 만들어 지고 명령에 의해 데이터를 저장해 나가는 과정이다

    스택 포인터(SP)를 통하여 PUSH와 POP이 가능하다(SP는 스택의 맨 꼭대기를 가리키고 있다.)

     

    'System' 카테고리의 다른 글

    dreamhack - bof  (0) 2024.06.24
    Ad점검스크립트  (0) 2023.03.06
    nactf- bufover-1  (0) 2019.09.25
Designed by Tistory.