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값이 들어간다.