선릉역 1번 출구

Stack 본문

Hacking & Security/Malicious code and Reversing

Stack

choideu 2021. 12. 24. 04:26

처음 stack을 공부했을 때 stack이 메모리안에서 가지는 특성을 모르고 여기서 한참 헤맸었다.

 

stack의 역할

1. 함수 내의 로컬 변수 임시 저장

2. 함수 호출 시 파라미터 전달

3. 복귀 주소 저장

 

stack의 가장 중요한 특징은 FILO 구조라는 것

exe가 메모리에 load되면

OS에 의해서 memory 영역이 할당되는데 이때 보면 stack은 맨 위에 위치한다. 그림이 좀 잘못되었는데 위에가 high이고 아래가 low이다. (아래 사진이 정확함)

stack은 high address영역부터 아래로 데이터가 쌓이기 때문에 stack에 값을 PUSH하면 메모리가 낮아진다.

즉 높은 주소에서 낮은 주소 방향으로 스택이 자라남(거꾸로 자라난다고 생각하면 될듯?)

=스택에 값을 입력하면 ESP는 감소하고, 값을 꺼내면 ESP가 증가함

 

참고 사이트

https://blog.naver.com/PostView.nhn?blogId=cjsksk3113&logNo=222270185816

'Hacking & Security > Malicious code and Reversing' 카테고리의 다른 글

abex' crackme #1 분석  (0) 2022.03.19
Ollydbg 폰트 설정  (0) 2022.03.17
Endian  (0) 2021.12.24
Hello World! Reversing  (0) 2021.12.24
Reverse Engineering  (0) 2021.12.23
Comments