범용 레지스터: General Register
이름 | 주용도 | 하위 32비트 | 하위 16 | 상위 8 | 하위 8 |
rax(accumulator register) | 함수의 반환 값 | EAX | AX | AH | AL |
rbx(base register) | x64에서는 주된 용도 없음 | EBX | BX | BH | BL |
rcx(counter register) | 반복문의 반복 횟수, 각종 연산의 시행 횟수 | ECX | CX | CH | CL |
rdx(data register) | x64에서는 주된 용도 없음 | EDX | DX | DH | DL |
rsi(source index) | 데이터 옮길 때 원본을 가리키는 포인터 | ESI | SI | ||
rdi(destination index) | 데이터 옮길 때 목적지를 가리키는 포인터 | EDI | DI | ||
rsp(stack pointer) | 사용 중인 스택의 위치를 가리키는 포인터 | ESP | SP | ||
rbp(stack base pointer) | 스택의 바닥을 가리키는 포인터 | EBP | BP |
세그먼트 레지스터: Segment Register
cs (code 영역), ss (stack 영역), ds (data 영역), es, fs, gs
명령어 포인터 레지스터: Instruction Pointer Register
rip: CPU가 어느 부분의 코드를 실행할지 가리킴 (8바이트 크기)
'dreaMhack > Reverse Engineering' 카테고리의 다른 글
[드림핵] rev_basic_4 풀이/어셈블리어 해석 (0) | 2022.03.23 |
---|---|
[드림핵] rev_basic_3 풀이/어셈블리어 해석 (0) | 2022.03.23 |
[드림핵] rev_basic_1 풀이/어셈블리어 해석 (0) | 2022.03.23 |
[드림핵] rev_basic_0 풀이/어셈블리어 해석 (0) | 2022.03.23 |
[드림핵] Reverse Engineering Introduction(리버스 엔지니어링 소개) (0) | 2022.03.03 |