SMALL
범용레지스터
범용레지스터란 cpu 내부에 있어 작은 데이터들을 임시로 저장하는 저장공간이다.
범용레지스터의 크기는 4byte 이다.
EAX | 계산에 대한 값을 저장하는 레지스터 (return 값이 주로 여기에 저장된다.) |
ECX | 카운터 레지스터(반복할때 숫자를 세는 레지스터) |
EDX | 데이터 레지스터 |
EBX | 베이스 레지스터(메모리주소를 저장) |
ESP | 스택의 윗부분(탑) 포인터 |
EBP | 스택의 아랫부분(베이스) 포이터 |
ESI | 데이터의 주소를 저장 |
EDI | 데스티네이션 인덱스 (데이터를 복사할때 목적지주소) |
※32bit에서는 EAX이지만 64bit 에서는 E가 아닌 R이다. ex) RAX, RCX, RDX...
EAX -> 32bit -> 00000000
AX -> 16bit -> 0000
AH/AL -> 8bit -> 00/00
이렇게 쪼갤수 있다.
세그먼트레지스터
세그먼트레지스터란 데이터가 어느 영역인지를 나타낸다.
CS | 명령어 코드가 쓰이는 부분 |
SS | 스택이 쓰이는 부분 |
DS | 데이터가 쓰이는 부분 |
ES | 추가 레지스터 |
FS | 추가 레지스터 |
GS | 추가 레지스터 |
LIST
'리버싱 > 이론 정리' 카테고리의 다른 글
PE FILE FORMAT (0) | 2020.07.26 |
---|---|
stolen byte (0) | 2020.07.26 |
패킹 (0) | 2020.07.25 |
빅엔디언과 리틀엔디언 (0) | 2020.07.24 |
올리디버거 단축키 (0) | 2020.07.24 |