cho2cee
TIL
cho2cee
전체 방문자
오늘
어제
  • 전체 게시글 (78)
    • Cloud (31)
      • AWS (12)
      • Kubernetes (16)
      • IaC (3)
    • Security (15)
      • ELK (5)
      • Reversing (10)
    • Network (8)
    • Linux (4)
    • Etc. (20)
      • 기타 (4)
      • 업무 (16)

태그

  • 합격후기
  • SAA
  • AWS
  • VPC
  • CLOUD

최근 댓글

블로그 메뉴

  • 홈
  • 태그
  • 방명록
hELLO
cho2cee

TIL

[Reversing] 03. 리틀 엔디언 표기법
Security/Reversing

[Reversing] 03. 리틀 엔디언 표기법

2021. 11. 25. 23:24

1. 바이트 오더링 

바이트 오더링이란 컴퓨터에서 메모리에 데이터를 저장하는 방식을 의미

바이트 오더링 방식에는 크게 빅 엔디언(Big Endian)과 리틀 엔디언(Litle Endian) 방식이 있다. 

 

총 4개의 (크기가 다른) 자료형은 각 엔디언 방식에 따라서 저장하는 방식이 다르다. 

 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  6  [61][62][63][64][65][00]   [61][62][63][64][65][00] 
📌 ASCII 문자 'a'는 0x61과 같고, 'e'는 0x65와 같다. 그리고 문자열 마지막은 NULL로 끝이 난다. 

 

바이트 타입의 b 변수를 저장할 떄는 차이가 없지만 2바이트 이상의 크기를 가진 자료형을 가질 때부터 차이가 나타난다. 

빅 엔디언 방식은 데이터를 저장할 때 사람이 보는 방식과 동일하게 앞에서부터 순차적으로 저장하지만 리틀 엔디언 방식은 데이터를 저장할 때 역순으로 저장한다.

 

1.1 리틀 엔디언 & 빅 엔디언 

빅 엔디언의 장점: 사람이 보기에 직관적이다. 

대형 UNIX 서버에 사용되는 RISC 계열의 CPU에서 많이 사용되며, 네트워크 프로토콜에도 빅 엔디언이 사용된다. 

➜ x86 애플리케이션 개발에 사용된 데이터를 네트워크로 송수신할 때 엔디언 타입을 변경해야 함 

➜ Windows 계열 리버서들은 리틀 엔디언에 대해 잘 알아야 한다. 

데이터를 역순으로 저장시키는 리틀 엔디언 방식도 산술 연산과 데이터의 타입이 확장/축소될 때 더 효율적이다.

 


Reference

🔗 http://www.yes24.com/Product/Goods/7529742



저작자표시 (새창열림)

'Security > Reversing' 카테고리의 다른 글

[Reversing] 05. 스택  (0) 2021.11.26
[Reversing] 04. IA-32 Register 기본 설명  (0) 2021.11.25
[Reversing] OllyDbg 기초 사용법  (0) 2021.11.25
[Reversing] 02장. Hello World! 리버싱  (0) 2021.11.22
[Reversing] 01장. 리버싱 스토리  (0) 2021.11.21
    'Security/Reversing' 카테고리의 다른 글
    • [Reversing] 05. 스택
    • [Reversing] 04. IA-32 Register 기본 설명
    • [Reversing] OllyDbg 기초 사용법
    • [Reversing] 02장. Hello World! 리버싱
    cho2cee
    cho2cee
    Today I Learned

    티스토리툴바