오브의 빛나는 별

1부 3장 리틀 엔디언 표기법 본문

리버싱

1부 3장 리틀 엔디언 표기법

오브의 별 2022. 4. 23. 12:38
반응형

안녕하세요, 오브입니다.

오늘은 

Hello World! 리버싱

3.1. 바이트 오더링

  • 바이트 오더링: 데이터 저장 방식. 디버깅 시 필요
  • 빅 엔디언: 2 바이트 이상의 크기의 자료형 저장 시 앞에서부터 순차 저장
  • 리틀 엔디언: 역순으로 저장
  • 문자열은 형식에 상관없이 동일하게 저장

3.1.1. 리틀 엔디언 & 빅 엔디언

  • 빅 엔디언- 직관적. 대형 UNIX 서버에 사용되는 RISC 계열의 CPU, 네트워크 프로토콜에 사용.
  • 리틀 엔디언- Intel x86 CPU에서 사용. 산술 연산과 데이터 타입의 확장 및 축소될 때 더 효율적

3.1.2. OllyDbg에서 리틀 엔디언 확인

  • OllyDbg에서 ‘LittleEndian.exe’ 열기
  • [Ctrl+G]로 ‘401000’ 주소로 가기(메인 함수임)
  • 40AC40(b), 40AC44(w), 40AC48(dw), 40AC4C(str)
  • [Ctrl+G]로 ‘40AC40’ 주소로 가기
  • w, dw 값들이 리틀 엔디언 형식으로 저장됨
    • 바이트 오더링: 데이터 저장 방식. 디버깅 시 필요
    • 빅 엔디언: 2 바이트 이상의 크기의 자료형 저장 시 앞에서부터 순차 저장
    • 리틀 엔디언: 역순으로 저장
    • 문자열은 형식에 상관없이 동일하게 저장
    3.1.1. 리틀 엔디언 & 빅 엔디언
    • 빅 엔디언- 직관적. 대형 UNIX 서버에 사용되는 RISC 계열의 CPU, 네트워크 프로토콜에 사용.
    • 리틀 엔디언- Intel x86 CPU에서 사용. 산술 연산과 데이터 타입의 확장 및 축소될 때 더 효율적
    3.1.2. OllyDbg에서 리틀 엔디언 확인
    • OllyDbg에서 ‘LittleEndian.exe’ 열기
    • [Ctrl+G]로 ‘401000’ 주소로 가기(메인 함수임)
    • 40AC40(b), 40AC44(w), 40AC48(dw), 40AC4C(str)
    • [Ctrl+G]로 ‘40AC40’ 주소로 가기

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]
  • w, dw 값들이 리틀 엔디언 형식으로 저장됨
반응형

'리버싱' 카테고리의 다른 글

2부 13장 PE File Format(2)  (0) 2022.04.23
2부 13장 PE File Format(1)  (0) 2022.04.23
1부 2장 Hello World! 리버싱(3)  (0) 2022.04.23
1부 2장 Hello World! 리버싱(3)  (0) 2022.04.23
1부 2장 Hello World! 리버싱(2)  (0) 2022.04.22