일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- buffer over flow
- requests
- 어셈블리어
- CodeEngn
- 리눅스
- RITSEC CTF 2019
- x64dbg
- 뉴스클리핑
- Hackerschool
- 웹해킹
- SQL Injection
- Nop Slide
- RITSEC
- PWN
- reversing
- NewsClipping
- HackCTF
- writeup
- Linux
- ftz
- 리버싱
- 버퍼오버플로우
- 보안뉴스
- termux
- Python
- BOF
- Next.js
- webhacking
- ctf
- Shadow 동아리
Archives
- Today
- Total
Jaeseo's Information Security Story
리버싱 기초 - 범용 레지스터 본문
RAX(64bit) -> EAX(32bit) -> AX(16bit) -> AH(8bit - high) - AL(8bit - low)
- Accumulator for operands and results data
- 주로 곱셈, 나눗셈에 사용되며, 함수의 반환값을 저장(리턴값)
RBX(64bit) -> EBX(32bit) -> BX(16bit) -> BH(8bit - high) - BL(8bit - low)
- Pointer to data in the DS segment
- ESI, EDI 와 결합해 인덱스에 사용됨.
RCX(64bit) -> ECX(32bit) -> CX(16bit) -> CH(8bit - high) - CL(8bit - low)
- Counter for string and loop operations
- 반복카운터로 사용된다. 또는 반복한 횟수를 저장시킨다.
RDX(64bit) -> EDX(32bit) -> DX(16bit) -> DH(8bit - high) - DL(8bit - low)
- I/O Pointer
- EAX와 같이 사용되며 부호 확장 명령 등에 사용.
변수라고 생각 하면 편하다.
RSI(64bit) -> ESI(32bit) -> SI(16bit)
- Source pointer for string operations
- 데이터 복사하거나 조작 할때 소스 데이터 주소가 저장된다.
RDI(64bit) -> EDI(32bit) -> DI(16bit)
- destination pointer for string operations
- 복사작업을 할때 목적지 주소가 저장된다.
INDEX 관련 작업 할때 사용
RBP(64bit) -> EBP(32bit) -> BP(16bit)
- Pointer to data on the stack (in the SS segment)
- 하나의 스택 프레임의 시작 주소가 저장된다. 현재 사용되는 스택 프레임이 살아있는 동안 EBP의 값은 변하지 않는다. 현재 사용한 스택 프레임이 사라지면 이전에 사용되던 스택 프레임을 가리키게 된다.
RSP(64bit) -> ESP(32bit) -> SP(16bit)
- Stack pointer (in the SS segment)
- 하나의 스택 프레임의 끝 지점 주소가 저장된다, PUSH, POP 명령어에 따라 "4byte"씩 변한다.
STACK 관련 작업 할때 사용
RIP(64bit) -> EIP(32bit) -> IP(16bit)
- 다음에 시행할 명령어가 저장된 메모리 주소가 저장된다. 현재 명령어를 모두 실행한 다음 EIP 레지스터에 저장된 주소에 있는 명령어를 실행한다.
특수 레지스터
'Security Study > Reversing' 카테고리의 다른 글
dnspy - 사용법 (.Net assembly-editor, debugger, decompiler) (0) | 2019.12.23 |
---|---|
GDB(GNU Debuger) 간단 사용법! (2) | 2019.11.12 |
리버싱 기초 - 기초 명령어 (0) | 2019.10.14 |
Comments