[Reversing] 리버싱 핵심원리 [4]. 스택 정리

2020. 2. 25. 12:28보안/리버싱

728x90

내용 : 스택에 대하여 책에 나온 내용을 간단히 요약 정리한다.

 

스택

 

프로세스에서 스택의 역할

     -- 함수 내의 로컬 변수 임시 저장

     -- 함수 호출 시 파라미터 전달

     -- 복귀 주소 (return address) 저장

 

구조

FILO 구조를 가짐 (First Input Last Output)

FILO 구조

 

특징

프로세스에서 스택 포인터 (ESP)의 초기 값은 Stack Bottom쪽에 가깝다 (스택의 아래쪽)

PUSH 를 통해 값이 추가되면 Stack Top을 향해 위로 움직이고,

POP 명령어에 의해 값이 제거되면 다시 Stack Bottom 쪽으로 움직인다.

(높은 주소 [Stack Bottom]  --> 낮은 주소 [Stack Top])

 

스택에 값을 입력하면 ESP는 감소하고, 값을 꺼내면  ESP는 증가한다.

728x90