관리 메뉴

KoreanFoodie's Study

Reversecore chap 3 - 리틀 엔디언 표기법 본문

Ethical Hacking/Reversing

Reversecore chap 3 - 리틀 엔디언 표기법

hashnut 2019. 4. 24. 17:19

'리버싱 핵심 원리'의 내용 및 이슈들과 해결책을 다룹니다.


 

  1. 바이트 오더링 :

    바이트 오더링은 데이터를 저장하는 방식이라고 기억하면 된다. 크게 두 가지로, 빅 엔디언(Big Endian)리틀 엔디언(Little Endian)방식이 있다!

    TYPE | Name | SIZE | 데이터 | 빅 엔디언 Style | 리틀 엔디언 Style
    |:----|:----|:----|:----|:----|:-----|
    BYTE | b | 1 | 0x12; | [12] | [12]
    WORD | w | 2 | 0x1234; | [12][34] | [34][12]
    DWORD | dw | 4 | 0x12345678 | [12][34][56][78] | [78][56][34][12]
    char [] | str | 6 | "abcde"; | [61][62][63][64][65][00] | [61][62][63][64][65][00]

    바이트(BYTE) 타입의 b변수를 저장할 때는 두 방식의 차이가 없다. 하지만 2바이트 이상의 크기를 가진 자료형을 저장할 때부터 차이가 나타난다!


    빅 엔디언 방식은 데이터를 저장할 때 사람이 보는 방식과 동일하게 앞에서부터 순차적으로 저장한다. 하지만 리틀 엔디언 방식은 데이터를 저장할 때 역순으로 저장한다(2바이트 혹은 4바이트 자료형과 같이 멀티바이트(multi-bytes)인 경우).

    str 문자열은 Endian 형식에 상관없이 동일하다. 문자열은 결국 캐릭터(char) 배열이기 때문에, 각 바이트를 하나씩 연속해서 저장한다고 생각해보면 리틀 엔디언에서도 문자열 자체는 빅 엔디언과 동일한 순서로 저장됨을 이해할 수 있다.

  2. 빅 엔디언 Detail

    빅 엔디언은 테이터를 순서대로 저장시키기 떄문에 사람이 보기에 직관적이라는 장점이 있다. 빅 엔디언은 대형 UNIX 서버에 사용되는 RISC 계열의 CPU에서 많이 사용된다. 또한 네트워크 프로토콜에 빅 엔디언이 사용되는데, x86계열의 응용프로그램 개발자와 리버서에게 중요한 의미를 가지고 있다. 애플리케이션 개발에 사용된 데이터를 네트워크로 송수신할 때 엔디언 타입을 변경해야 하기 때문이다!

  3. 리틀 엔디언 Detail

    Intel x86 CPU에서는 리틀 엔디언 방식을 사용한다. 데이터를 역순으로 저장시키는 리틀 엔디언 방식은 산술 연산과 데이터의 타입이 확장/축소될 때 더 효율적이라는 장점을 가지고 있다.

검색유입: Searck Keywords: Fine Korean Restaurant, Fine Korean restaurants in seoul, Best Korean Restaurants, Best Korean restaurants in seoul, Best Korean Restaurants in Seoul, Best restaurants in Korea, Best Korean dining in Seoul, Best Korean dining in Korea#koreanrestaurant #koreanfood #seoulfood #seoulrestaurant #foodie #food #yummy #foodporn #tasty #foodphotography #foodpix #delicious #goodfood #lovefood #foodiegrams #foodiegramFine Korean Restaurant, Fine Korean restaurants in seoul, Best Korean Restaurants, Best Korean restaurants in seoul, Best Korean Restaurants in Seoul, Best restaurants in Korea, Best Korean dining in Seoul, Best Korean dining in Korea#koreanrestaurant #koreanfood #seoulfood #seoulrestaurant #foodie #food #yummy #foodporn #tasty #foodphotography #foodpix #delicious #goodfood #lovefood #foodiegrams #foodiegram
0 Comments
댓글쓰기 폼