어셈블리어 push, pop 명령어
·
리버싱/공부
STACK : LIFO(Last In First Out)구조로 마지막에 들어간 값이 먼저 나오는 구조이다. 디버깅을 하다보면 함수를 호출할 때 일시적으로 값을 저장하는 용도로 쓰이거나 연산을 할 때 사용된다. 아래에서 위로 값이 올라가지만 주소를 확인해보면 주소값은 감소하는 것을 알 수 있다. push 명령어는 stack에 값을 넣는 것이다. push operand 예를 들어 위 사진에 있는 검정색으로 표시된 부분이 RSP라고 하자.(RSP = 0x000000000062F498) push 명령어는 현재 RSP가 가르키는 스택에 값을 넣는 것이 아니라 RSP의 값을 8만큼 빼고 그 위치에 값을 넣는다. 쉽게 정리하면 sub rsp, 0x08 ← RSP의 값을 8만큼 뺀다.(RSP = 0x0000000000..
Goblebin
'Push' 태그의 글 목록