티스토리 뷰

Security

[Securiy] PE(Portable Excutable)

감자형 2018. 3. 16. 03:51
  • PE 구조

- 유닉스란? 최초의 운영체제 




- coff (common object file format) : 유닉스 실행 파일 포멧


- PE(Portable Excutable) : 윈도우 기반


- ELE(Excutable Linux Format) : 리눅스 기반


- C -> 컴파일 -> 기계어 코드 -> 링커(dll) -> exe file(PE)


* Structure


Header

--------

바이트

--------

footer


Tool: PEview analysis 

PEview 를 통하여 PE구조를 확인



1. Image_Dos_Header -> 실행 파일 앞에 mg가 붙는다(실행파일이라는것을 알려주는 마크 느낌)

- OFFSET to New Exe Header -> PE -> 위치를 알려준다

ex) 100번지



2. MS-DOS stub Program

- 32bit , 64bit 오류,비트 처리 



3. Image_NT_Headers 


- 여기에서 PE구조 100번지의 주소를 알 수 있다.


1) signature


- image_file_header

- image_optional_header ** 모든 코드가 여기에 있음 중요한 부분


2) image_file_header 구조 


CPU 구조


i386 - 32 bit

amd64 - 64bit

- number of section : section 수

- time date stamp - 델파이란? language

델 파이 - 컴파일시 1970년 1월 1일 이라고 나온다. 여기가 변조 되어있으면 악성코드일 가능성이 높다.


- size of optional header 헤더 크기




3)IMAGE_OPTIONAL_HEADER 에서







4.IMAGE_SECTION_HEADER.text

- size of RAW data


실행을 안했을 때 code section of size


- pointer to raw data


기본적으로 생각하는 포인터


- characteristics 

메모리에 대한 특징들을 나타내는것 권한관련된것들






5.IMAGE_SECTION_HEADER.rsrc(Resource)


- 프로그램 변수나 명령어가 들어 있음.

- 그래픽 인증 아이콘 이미지



6.IMAGE_SECTION_HEADER.reloc


랜덤 주소의 위치값을 가지고 있음


7. CERTIFICATE table 

인증 관련 정보를 담고 있는 부분(Certification)




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함