선릉역 1번 출구
Stack 본문
처음 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