SMALL
컴퓨터에서 메모리에 데이터를 저장하는 방식을 의미하는 바이트 오더링이라 한다.
바이트 오더링이 무엇이냐?
데이터를 저장하는 방식을 말한다.
- 리틀 엔디언 표기법
- 빅 엔디언 표기법
간단하게 예시를 들어보자면
0x123456 이있다고 하면
빅 엔디언은 [12][34][56]
리틀 엔디언은 [56][34][12]
빅엔디언은 데이터를 저장할 때 사람이 보는 방식과 동일하게 앞에서부터 순차적으로 저장한다.
리틀엔디언은 역순으로 저장한다!
하지만 바이트 자체는 정상적인 순서로 저장이 된다.
오로지 2바이트 or 4바이트 자료형과 같이 멀티바이트 인 경우 각 바이트가 역순으로 저장되는 것
또한 str 문자열은 엔디엔 형식에 상관없이 동일하다.
빅 엔디언
- 사람이 보기에 직관적
- 대형 UNIX 서버에 사용되는 RISC 계열의 CPU에서 많이 사용
- 네트워크 프로토콜에 사용
리틀 엔디언
- Intel x86 CPU에서 사용
- Windows 계열 리버서들은 리틀엔디언을 잘 알아야함
- 산술 연산과 데이터의 타입이 확장/축소 될때 효율적이라는 장점
실습으로 파악해보기!
음 쌓이는 순서가 조금 다른것 같긴한데 그래도 little endian 방식을 보기엔 충분했다...★
'Reversing > 리버싱_핵심원리' 카테고리의 다른 글
6장 abex' crackme #1 분석 (0) | 2019.07.25 |
---|---|
5장 스택 (0) | 2019.07.25 |
4장 IA-32 Register 기본 설명 (0) | 2019.07.25 |
2장 Hello World! 리버싱 (0) | 2019.07.25 |
1장 리버싱 스토리 (0) | 2019.07.25 |