여기서 R로 시작하는 이유는,
프로세스가 64bit환경이라 그렇다 32bit환경은 E로 시작한다. 첫번째 문자는 그냥 환경에 맞춰서 그에 해당하는 문자가 출력이 된다.
RAX(EAX) : 누산기(Accumultor) 레지스터
RBX(EBX) : 베이스 레지스터
RCX(ECX) : 카운터 레지스터
RDX(EDX) : 데이터 레지스터
RSP(ESP) : 스택 포인터 레지스터
RBP(EBP) : 베이스 포인터 레지스터
RSI(ESI) : 출발지(source) 인덱스 레지스터
RDI(EDI) : 목적지(Destination) 인덱스 레지스터
RIP(EIP) : RIP 레지스터는 프로세서가 읽고 있는 는 현재 명령의 위치를 가리키는 명령 포인터(Instruction Pointer)레지스터
이 레지스터들은 포인터나 인덱스라 부르기도 한다.
포인터 레지스터는 메모리의 위치를 가리키는 64비트 주소를 저장하므로 포인터라 불린다. 이 레지스터들은 프로그램을 실행하고 메모리 관리를 하는데 쓰여 아주 중요하다
인덱스 레지스터들은 데이터가 읽히거나 써질 떄 근원지아 목적지를 가리키는 포인터로 쓰이는 포인터다 이 레지스터들은 불러오기 명령과 저장하기 명령에서 쓰이기도 하지만 대부분의 경우 이 헤지스터들을 범용 레지스터로 생각하면 된다.
출처 :
'Reverse Engineering' 카테고리의 다른 글
Visual Studio 2015 "설치 패키지가 없거나 손상되었습니다." 설치 방법 (0) | 2021.06.06 |
---|---|
ld -I/lib/ld-linux.so.2 명령 (0) | 2020.10.19 |
리눅스) objdump -d 명령어 (0) | 2020.10.18 |
댓글