[ Plus ] Stack Frame 할당과 해제

신우빈·2022년 7월 3일
0

Dreamhack

목록 보기
5/7
post-thumbnail

< 출처 : 링크텍스트 >

call 의 특성에 따라 return_address 인 400005가 stack 에 push

push rbp = rsp -= 8 -> [rsp] = rbp 의 순으로 연산.

  • rsp = fc3f8, rbp = fc480
  • -> rsp = fc3f0, [rsp] = fc3f0 의 자리에 fc480이 저장

mov rbp, rsp : rbp 에 rsp 의 값을 대입.

  • rbp = fc3f0

sub rsp, 0x30 : rsp 에 0x30 만큼 뺄셈

  • rsp = fc3c0

mov BYTE PTR[rsp], 0x3 : rsp에 저장된 값에서 1byte 크기만큼 0x3 대입


leave 연산 수행 : rsp에 rbp 대입 -> rsp += 8 -> rbp = [rsp-8]
[rsp-8] = fc480


0개의 댓글