Stack(스택)
Stack(스택)에 대해서 알아보겠습니다.
Stack은 프로그램이 작동되면서 값이 저장되고 불러와지는 메모리 공간입니다.
작동은 다음과 같이 됩니다.
1. 기존의 EIP 다음 순서 값이 보존됩니다.
2. 기존의 EBP 값이 보존됩니다.
3. EBP 값을 현재 Stack의 ESP 값으로 고정합니다.
4. 변수를 저장할 공간을 할당합니다.
5. 변수를 역순으로 저장합니다.(First In Last Out)
6. 변수를 역순으로 저장합니다.
7. 다 사용한 Stack은 메모리 정리를 합니다.
8. 보존된 EBP를 복구합니다.
9. RET을 실행합니다.(보존된 EIP 복구)
끝.
카테고리: Reversing
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.