ELF Parser

Android/Reversing 2020. 3. 9. 16:48

 

 

ELF 파일의 구조를 쉽게 볼 수 있게 파싱해주는 도구이다.

PEView, PEiD, CFF_Explorer와 같이 PE 구조를 보여주는 툴과 같다고 생각하면 된다.

 

ELF Parser를 이용하면 ELF의 섹션 테이블, 프로그램 테이블, 동적 세그먼트 및 심볼 테이블과 같은 다양한 ELF 구조를 쉽게 볼 수 있다.

 

원래 ELF Parser의 목적은 정적으로 악성코드를 분석하기 위해 만들어졌다고 한다.

그래서 ELF Parser에 파일을 올리면 Score가 뜨고 악성코드인지 아닌지 판단하는 기준으로 삼을 수 있다.

 

 

ELF Parser

ELF Parser를 사용하면 Overview, ELF Header, SHeaders, PHeaders, Symbols, Capabilities, Scoring 카테고리가 있다.

 

1. Overview

파일의 이름과 크기 해쉬값 등을 확인할 수 있다.

 

2. ELF Header

 

1) Magic 

 매직 넘버로 elf 파일의 시그니처 값을 보여준다. 7f 45 4c 46(.ELF)

2) Class

32bit인지 64bit인지 알려준다.

3) Encoding

Big Endian인지 Little Endian인지 알려준다. ELF 파일은 Little Endian이다.

4) Machine

x86인지 ARM인지 알려준다. ELF는 리눅스 실행 파일로 ARM이다.

5) Entry Point

실행 파일의 코드 시작 주소를 알 수 있다.

6) PH Offset

프로그램 헤더 테이블의 시작을 가리킨다.

7) SH Offset

섹션 헤더 테이블의 시작을 가리킨다. 

 

3. SHeaders

.plt, .text, .data, .bss 등 여러가지 섹션 정보를 확인할 수 있다. 

섹션 명, Type, Flags(쓰기, 실행 등), VA(Virtual Address), Offset, Size, Link 등.. 

 

4. PHeaders

Type(PT_LOAD, PT_DYNAMIC 등), Offset, VA, PA(Physical Address), File Size, Memory Size, Flags 확인 가능 

 

5. Symbols

Type과 Binding 정보를 알 수 있다.

 

6. Capabilities

악성코드라고 의심될 만한 데이터를 보여준다. 

 

7. Scoring

capabilities를 바탕으로 악성코드인지 점수로 표현해준다. 

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

DEX 정적 분석(2) - JEB3  (0) 2020.03.10
DEX 정적 분석(1) - jadx  (0) 2020.03.10
Smali Code  (0) 2020.03.04
DEX 구조  (0) 2020.03.02
안드로이드 APK 구성  (0) 2020.03.02

WRITTEN BY
Bugday

,