Computer Security

#3 어셈블리어 스택 본문

컴퓨터구조&어셈블리어

#3 어셈블리어 스택

쿠리 Kuri 2022. 5. 13. 18:30

스택

 

push val: val을 스택 최상단에 쌓음

 

연산

 

rsp -= 8

[rsp] = val

 

ex)

[Register]
rsp = 0x7fffffffc400
[Stack]
0x7fffffffc400 | 0x0  <= rsp
0x7fffffffc408 | 0x0
[Code]
push 0x31337

결과

[Register]
rsp = 0x7fffffffc3f8
[Stack]
0x7fffffffc3f8 | 0x31337 <= rsp 
0x7fffffffc400 | 0x0
0x7fffffffc408 | 0x0

 

 

pop reg : 스택 최상단의 값을 꺼내서 reg에 대입

 

rsp+=8

reg[rsp-8]

 

ex)

[Register]
rax = 0
rsp = 0x7fffffffc3f8
[Stack]
0x7fffffffc3f8 | 0x31337 <= rsp 
0x7fffffffc400 | 0x0
0x7fffffffc408 | 0x0
[Code]
pop rax

 

결과

[Register]
rax = 0x31337
rsp = 0x7fffffffc400
[Stack]
0x7fffffffc400 | 0x0 <= rsp 
0x7fffffffc408 | 0x0

 

 

Comments