# 2. 레지스터
## x86
### 범용 레지스터
- **주소나 값을 저장하는 공간**
- EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP
- 특수한 용도로 쓰이는 레지스터 이외에 자유롭게 사용
-- EAX: **연산을 할 때 자유롭게 사용, 함수의 리턴 값 저장**
-- EBP: **현재 스택 프레임의 베이스 주소를 저장**
-- ESP: **스택의 최상단의 주소를 저장**
## x64
### 범용 레지스터
- **주소나 값을 저장하는 공간**
- RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, R8~R15
- 특수한 용도로 쓰이는 레지스터 이외에 자유롭게 사용
-- RAX: **연산을 할 때 자유롭게 사용, 함수의 리턴 값 저장**
-- RBP: **현재 스택 프레임의 베이스 주소를 저장**
-- RSP: **스택의 최상단의 주소를 저장**
## 명령 포인터
- **다음에 실행할 명령의 주소를 저장**
- x86 = EIP | x64 = RIP
- 시스템 해킹 주요 목표 = ==명령 포인터 조작==