Register | Description |
EAX (Extended Accumulator Register) | 곱셈, 나눗셈 명령에 사용. 함수 반환값 저장 |
EBX(Extended Base Register) | 인덱스로 사용한다. |
ECX(Extended Counter Register) | 반복 명령어 반복 횟수를 저장하고 반복 작업 수행한다. |
EDX(Extended Data Register) | EAX와 같이 사용한다. 부호 확장 명령 등에 활용 |
ESI(Extended Source Index) | ESI 레지스터가 가리키는 주소의 데이터를 EDI 레지스터가 가리키는 주소로 복사하는 용도로 사용 |
EDI(Extended Destination Index) | ESI 레지스터가 가리키는 주소의 데이터가 EDI가 가리키는 주소로 복사된다. |
EBP(Extended Base Pointer) | 스택 프레임 시작 주소가 저장된다. 사용하는 스택 프레임이 살아있는 동안 EBP 값은 변경되지 않고, 현재 사용하던 스택 프레임이 사라지면 이전 스택 프레임을 가리킨다. |
ESP(Extended Stack Pointer) | 스택 프레임 끝 지점 주소를 저장한다. PUSH, POP 명령어 따라 ESP의 값이 4바이트씩 (32bit이므로) 변한다. |
EIP(Extended Instruction Pointer) | 다음에 실행할 명령어가 저장된 메모리 주소가 저장되어, 현재 실행하던 명령어가 끝나면 EIP 레지스터에 저장된 주소에 있는 명령어가 실행된다. |
Header
Body
RVA(Relative Virtual Address)
Entry Point의 주소
Base of Code
RETN
asm 분석: 어셈블리 코드에서 소스 코드 변환해보기 (0) | 2021.04.05 |
---|---|
x86_64 assembly code (0) | 2021.04.04 |
어셈블리 명령어 포맷, 명령어 종류 (Instruction Format, Instructions) (0) | 2021.03.26 |
CPU 레지스터 (CPU Register) (0) | 2021.03.26 |
Dreamhack Reverse Engineering] 1강: 리버스 엔지니어링이란 (0) | 2021.03.22 |