Reverse 02

2017. 2. 27. 21:01Hobby/Reverse

728x90
반응형

PE 파일

- PE 파일 기본 개념

  고급 언어     ->       기계어     ->     메모리

   (컴파일러) (PE 구조) (로더)   (DLLs)

_DLL : Dynamic Linking Library, 동적으로 라이브러리 연결

- 컴파일러

-> 컴퓨터가 이해할 수 있는 기계어로 번역, 처적의 성능 내도록 다양한 기능 제공

- PE 파일 종류

-- 실행 계열 : EXE, SCR

-- 라이브러리 계열 : DLL, OCX, CPL, DRV

-- 드라이버 계열 : SYS, VXD

-- 오브젝트 파일 계열 : DBJ

PE Header : IMAGE_DOS_HEADER

 MS-DOS Stub Program

 -- IMAGE_NT_HEADERS : Signature

                                  IMAGE_FILE_HEADER

                                  IMAGE_OPTIONAL_HEADER

 -- Section Header : SECTION HEADER 1

    SECTION HEADER 2

- Section Data :   SECTION DATA 1

SECTION DATA 2

- 주소 지정 방법

- pFile : PE 파일 내부에서의 오프셋 값을 의미 (파일)

- RVA (Relative Virtual Address) : PE 파일이 메모리로 로드 됐을 때 저장되는 상대 주소 (메모리)

- VA : 가상 메모리상에 저장되는 실제 주소 (메모리)

-> 찾는 데이터는 헤더에 있는 정보를 가지고 찾음

- IAT (Import Address Table)

-> PE파일 안에 어떤 라이브러리의 어떤 함수를 가져다 쓰는지 기록해놓은 정보, IAT 안에 API를 가리키는 주소를 로더가 로딩할 때 적어 놓고 찾아서 사용, 코드에서 라이브러리를 참조하는 부분은 IAT 내부에 있는 함수 주소를 사용 

-> 헤더(PE 파일 동작 규칙)와 보디(헤더에 적혀 있는 규칙, 기계어들 저장)로 구성


728x90
반응형

'Hobby > Reverse' 카테고리의 다른 글

Reverse 01  (0) 2017.02.26