Security/Reversing
바이트 오더링
래울
2020. 3. 6. 15:44
Little Endian : LSB최하위 바이트 부터 차례로 저장하는 방식
Big Endian : LSB최상위 바이트 부터 차례로 저장하는 방식
* 16 진수는 2개가 1바이트이므로 두개씩 묶어서 저장된다.
EX) 빅 엔디언
0x12345678이 들어갈 때
메모리 주소 | ... | 0x1000 | 0x1001 | 0x1002 | ... |
변수 값 | ... | 0x12 | 0x34 | 0x56 | ... |
- 자료형별 저장
TYPE | NAME | SIZE | 빅엔디언 | 리틀엔디언 |
BYTE | b | 1 | 12 | 12 |
WORD | w | 2 | 12 34 | 34 12 |
DWORD | dw | 4 | 12 34 56 78 | 78 56 34 12 |
char str[] = "abcde" | str | 8 | 61 62 63 64 65 00 | 61 62 63 64 65 00 |
문자열의 경우에는 리틀엔디안과 빅엔디안 모두 동일하게 저장되며, 마지막 바이트에는 NULL값이 들어간다.