일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리버싱
- 어셈블리어
- 리눅스커널
- write up
- 리눅스
- 포너블
- pwn.college
- 시그널
- 리눅스 커널
- Bandit
- 커널
- 컴퓨터구조
- 시스템프로그래밍
- Pwnable.kr
- C++
- wargame
- pwncollege
- kernel
- 시스템 프로그래밍
- Leviathan
- 하드링크
- 프로그래밍
- 알고리즘
- 시스템
- radare2
- css
- 시스템해킹
- C언어
- 워게임
- multiplexing
Archives
- Today
- Total
Computer Security
#3 어셈블리어 스택 본문
스택
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
'컴퓨터구조&어셈블리어' 카테고리의 다른 글
#6 컴퓨터구조와 명령어 (0) | 2022.05.16 |
---|---|
#5 컴퓨터 구조2 (0) | 2022.05.15 |
#4 컴퓨터 구조1 (0) | 2022.05.14 |
#2 어셈블리어 연산,비교,분기 (0) | 2022.05.12 |
#1 프로세스의 메모리 구조. 세그먼트(Segment) (0) | 2022.05.11 |
Comments