본문 바로가기

리버싱/이론 정리

레지스터

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