리버싱 핵심원리 5일차 - 스택

Seo-Faper·2023년 1월 7일
0

리버싱 핵심원리

목록 보기
4/6

프로세스에서 스택 메모리의 역할은 다음과 같다.

  1. 함수 내의 로컬 변수 임시 저장
  2. 함수 호출 시 파라미터 전달
  3. 복귀 주소(return address) 저장

스택 포인터인 ESP의 초기 값이 0019ff74 인 것을 알 수 있다.
여기서 F7을 눌러서 401000의 PUSH 100을 실행한다.

ESP가 4 바이트 줄어든 0019ff70 임을 알 수 있다.

그리고 스택포인터 ESP가 가르키는 주소 0019ff70에 100이 저장된 것을 볼 수 있다.
다시 F7을 통해 POP EAX를 실행한다.

ESP는 다시 4 바이트가 늘어나 0019ff74가 되었고 스택은 초기상태와 똑같아졌다.

즉, 스택에 값을 입력하면 스택 포인터(ESP)는 감소하고 스택에서 값을 꺼내면 스택 포인터는 증가한다.

profile
gotta go fast

0개의 댓글