함수사이의 공간이 생긴다는 의미

"이제 mov rbp, rsp로 rbp와 rsp가 같은 주소를 가리키게 합니다. 바로 다음에 rsp의 값을 빼게 되면, rbp와 rsp의 사이 공간을 새로운 스택 프레임으로 할당하는 것이지만, callee 함수는 지역 변수를 사용하지 않으므로, 새로운 스택 프레임을 만들지 않습니다."

라는 문장이 있었는데 왜 (rbp-rsp)한것이 사이에 같은공간을 생성한다는건지 모르겟습니다.
rbp-rsp 인데 서로 같은주소를 지칭하고 있으면 그냥 0 아닙니까?

#시스템_해킹 #배경지식 #호출_규약
작성자 정보
답변 1
avatar
wyv3rn
무플 방지 위원회장

설명이 조금 잘못되어있는 것 같습니다
해당 문장은 아래와 같이 해석함이 맞는 것 같습니다.

이제 mov rbp, rsp로 rbp와 rsp가 같은 주소를 가리키게 합니다. 바로 다음에 rsp의 값에서 "어떤 값"을 빼게 되면, rbp와 rsp의 사이 공간을 새로운 스택 프레임으로 할당하는 것이지만, callee 함수는 지역 변수를 사용하지 않으므로, 새로운 스택 프레임을 만들지 않습니다.

라고 보심이 맞는 것 같습니다.

예를들면 보통 스택에 영역을 할당하는 경우 어셈블러코드의 프롤로그는 아래와 같으며 이를 이야기하고싶었던 것 같습니다.

mov rbp, rsp
sub 0x10, rsp
2022.08.30. 22:55
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기