๋ฐ์ดํธ ์์(Byte Order)
- Big Endian
- ๋ฐ์ดํฐ๊ฐ ์์ ๋ฐ์ดํธ๋ถํฐ ์ ์ฌํ๋ ๋ฐฉ์
- ์ต์์๋ฐ์ดํธ๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ถํฐ ์ ์ฅ๋๋ ๋ฐฉ์
- ์ฌ๋์ด ์ฝ๋ ๋ฐ ์ต์ํ์ฌ ๋๋ฒ๊น ์ ์์ด ํธ๋ฆฌํ๋ค๋ ํน์ง์ด ์๋ค.
- Little Endian
- ๋ฐ์ดํฐ๊ฐ ํ์ ๋ฐ์ดํธ๋ถํฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ(Host Ordering)
- ์ต์์ ๋ฐ์ดํธ๊ฐ ๊ฐ์ฅ ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ถํฐ ์ ์ฅ๋๋ ๋ฐฉ์
- ๊ธฐ๊ณ์ ์ฐ์ฐ์ด ํจ์จ์ ์ด๋ผ๋ ํน์ง์ด ์๋ค.
- ๊ธฐ๊ณ ์ฐ์ฐ์ ํจ์จ์ฑ์ ์๋์ ๊ฐ์ ์ด์ ๊ฐ ์๋ค.
- ์๋ ๊ทธ๋ฆผ์์ Big Endian์ ๊ฒฝ์ฐ 32๋นํธ ์์ธ 0X2A๋ฅผ ์ฝ๊ธฐ ์ํด 32๋นํธ ๋ชจ๋๋ฅผ ์ฝ์ด์ผํ์ง๋ง
- Little Endian์ ๊ฒฝ์ฐ 32๋นํธ์ ์ ์ค 1, 2๋ฐ์ดํธ๋ง ๋ผ์ด๋ด๋ฉด ๋ฐ๋ก 8, 16๋นํธ๋ฅผ ์ป์ด๋ผ ์ ์๋ค.
- ASLR(Address Space Layout Randomization)
- ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ์์ญ(์ฃผ์)๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒ
- ๋ฉ๋ชจ๋ฆฌ ํดํน์ ๋ฐฉ์ง ์ญํ ์ ํ๋ค.
- ํฌ์ธํฐ
- ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ์๋ก ๋ณธ๋ค. (int *pointer = &Data)
- *pnData ํฌ์ธํฐ์ ์ญ์ฐธ์กฐ *p = 300; (ํด๋น ์ฃผ์์ ๊ฐ์ ๋ค๋ฃฌ๋ค.)
- ์ง์ ์ง์ ์ ์
*((int*)0x0012ff28) = 600;
'๐ฅ๏ธ Computer > Computer Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์กฐ (0) | 2020.01.02 |
---|---|
User์ Kernel (0) | 2020.01.01 |