-
64BIT Executable and Linkable FormatHack/Reversing 2015. 2. 15. 11:01
e_ident[EI_MAG0] ~e_ident[EI_MAG3]
- 7F뒤에 ELF라는 스트링이 따라서 달려온다, ELF로는 7F 45 4C 46이 오게된다
e_ident[EI_CLASS]
-32비트, 64비트 구분공간 값이 1과 2로 나타내어진다.( 01 : 32BIT , 02: 64BIT)
해당 파일은 64비트라는것을 알수있다.
e_ident[EI_DATA]
-리틀엔디언, 빅엔디언을 나타낸다 (01: LE, 02: BL)
e_ident[EL VERSION]
-ELF의 버전을 나타낸다 (1: Original ELF)
e_type
- 1: relocatable, 2: executable, 3: shared, or core, 4: respectively.
e_machine
- 시스템 아키텍쳐를 나타낸다.
003E라는 값으로 해당 파일의 아키텍쳐는 X86-64 란것을 알수있다
e_version
- ELF버전 Original ELF인경우 01값을 나타낸다.
e_entry
- 프로세스에 로딩될때의 Entry Point주소를 나타낸다.
400F50 이 Entry Point라는것을 알수있다.
e_phoff
- 0x40일시 64bit ELF 실행 파일이다.
e_shoff
-섹션헤더의 시작점을 나타낸다.
e_flags
-타겟 아키텍쳐마다 값이 다르다.
e_ehsize
-헤더의 크기를 나타낸다.
e_phentsize
- 프로그램 헤더 테이블의 크기를 나타낸다.
e_phnum
- 프로그램 헤더테이블의 엔트리 넘버를 나타낸다.
e_shentsize
-섹션헤더엔트리의 사이즈를 나타낸다.
e_shnum
-섹션헤더테이블의 엔트리 넘버를 나타낸다.
e_shstrndx
- 섹션 이름이 포함 된 섹션 헤더 테이블 항목의 인덱스를 포함한다.
'Hack > Reversing' 카테고리의 다른 글
DLL with notepad (0) 2015.02.23 ELF Header 문서 (0) 2015.02.15 ELF 구조 (0) 2015.02.13 Stack Empty Value (0) 2015.02.09 Stack POP (0) 2015.02.09