~/pingulee

스택 프레임 읽는 법

pingulee조회 0 · 댓글 0

스택 프레임 읽는 법

어셈블리를 읽으려면 스택 프레임의 구조가 눈에 들어와야 한다.

push rbp
mov  rbp, rsp
sub  rsp, 0x20      ; 지역변수 공간 확보
...
leave              ; mov rsp, rbp; pop rbp
ret

rbp 기준으로 읽기

  • [rbp-0x8] 류는 보통 지역 변수
  • [rbp+0x10] 류는 넘어온 인자(호출 규약에 따라)
  • 프롤로그/에필로그는 함수의 경계를 알려주는 표지판

x86-64 System V는 앞쪽 인자를 레지스터(rdi, rsi, rdx...)로 넘기므로, 스택에 밀리는 인자는 그 뒤부터라는 점도 기억하자.

댓글 0

첫 댓글을 남겨보세요.