스택메모리
- 스택에는 함수에게 전달된 파라미터, 지역변수, 반환주소 등이 보관됨
- 탑포인터가 마지막으로 저장된 데이터를 가리키고, 낮은 방향으로 자라는 full descendung stack 방식
- PUSH→ 탑포인터가 올라가고 POP→ 탑포인터 내려감
- 2개의 오퍼레이션 PUSH, POP 한 개의 탑포인터 ESP로 운용됨
Call Stack
- 현재 실행 중인 서브루틴에 관한 정보를 저장하는 스택 자료구조
- 스택 자료구조와 다르게 중간에 있는 데이터 바로 사용가능
- full descending 방식
Full Stack vs Empty Stack
push 명령어를 통해 마지막에 들어온 데이터가 TOP 포인터면 Full stack
그다음 위치를 가리키면 Empty stack
Ascending/Descending Stack
메모리에 데이터가 쌓일 때 주소가 증가→ Ascending
메모리에 데이터가 쌓일때 주소가 감소→ Descending
32비트 기준 ESP 레지스터는 스택에 추가될 때마다 값이 4씩 내려감
'리버싱' 카테고리의 다른 글
가상주소공간의 스택메모리 - 호출된 함수의 복귀주소와 분석 (0) | 2025.03.03 |
---|---|
가상주소공간 VAS의 스택 메모리 IA32 스택 프레임 (0) | 2025.02.28 |
IA32 어셈블리 주요 명령어 이론과 실습 (0) | 2025.02.25 |
CPU 레지스터와 주요 명령어 - IA32 주요 레지스터 (0) | 2025.02.24 |
PE 파일의 자료구조 임포트 테이블 분석 실습 (0) | 2025.02.24 |