ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FTZ. 함수 프롤로그 / 함수 에필로그
    Pwnable/FTZ 2020. 2. 11. 05:37

    함수 프롤로그

    : 함수 내에서 사용할 스택 프레임을 설정한다.

     

    esp // 스택의 마지막 부분을 저장하면 push, pop 에 따라 4씩 값이 변한다.
    
    eip // 다음에 실행하여야 할 명령어가 존재하는 메모리 주소가 저장됨.
    
    ebp // 스택의 시작지점 주소가 저장된다. (스택의 처음 부분)
    
    
    
    push // 스택 값을 넣는다. esp의 값이 4만큼 줄어들고 이 위치에 새로운 값이 채워진다.
    
    push ebp // 돌아갈 곳의 주소를 스택에 저장하는 것이다.(이때 esp가 4만큼 움직인다.)
    
    mov // 소스에서 목적지로 데이터를 복사한다.
    
    pop // esp 레지스터가 가르키고 있는 위치의 스택 공간에서 4byte 만큼을 목적지 피연산자에 복사하고 esp 레지스터의 값에 4를 더한다.

     

    함수 에필로그

    : 함수 내에서의 수행을 마치고 처음 호출한 지점으로 돌아가기 위해 스택을 복원한다.

     

    leave // mov ebp,esp + pop ebp
    
    ret // pop eip + jmp eip

    'Pwnable > FTZ' 카테고리의 다른 글

    FTZ. level 11 정리  (3) 2020.02.25
    FTZ . level9 정리  (0) 2020.02.11

    댓글

Designed by Tistory.