PE File의 구조

게임 개발 2004. 4. 19. 14:50
 PE File Format 의 구조에 대한 부분과 Structure 에 대한 분석이 마무리 되었다. 문제는 실제 해킹 툴을 발견할 수 있게 하는 무엇(?)인가를 찾아야 한다. PE 파일을 누가 설계하고 만들었는지 모르지만... 구조가 조금 애매한 부분도 있다.  *^^*.   MZ HeaderPE Header 사이에 쓸데없는 빈 공간이 있다니... 정말 처음 접하는 사람은 해메일 수 밖에 없게끔 장난쳐둔(?) 느낌이랄까...


 
<PE File 의 구조>
는 크게 아래의 4개로 이루어진다.(WINNT.H 에 정의되어 있다.)

1. MZ Header(_IMAGE_DOS_HEADER) : 64 byte
    Old MS-DOS Header

  바로 이 부분에 MS-DOS stub
  < This program cannot be run in DOS mode >
  < This program must be run under Win32 > - 이걸 사용한 프로그램도 있다.

2. PE Header : 248 byte
  1) Signature "PE" : 4 byte
  2) _IMAGE_FILE_HEADER : 20 byte
  3) _IMAGE_OPTIONAL_HEADER : total 224 byte
    --> _IMAGE_DATA_DIRECTORY : 128 byte

3. Section Header(_IMAGE_SECTION_HEADER) : 40 byte * Section 갯수
  .text   .rdata   .data   .idata   .rsrc   .reloc .....
  각각에 SizeOfRawData 인자의 크기만큼 SECTION Table Data가 존재한다.

4. Section Body : _IMAGE_SECTION_HEADER의 SizeOfRawData 크기에 따라 달라짐


일반 Exe 파일들의 구조를 살펴보고, 해킹툴의 파일구조를 살펴본후 해킹툴만의 다른점을 찾아야 할 듯하다. 만약 다른점이 없다면.... ㅡㅡㅋ.

드디어 어제 금강기공사 홈페이지 대문을 만들었다. 아직 수정해야 할 께 산더미지만... 차근차근 해 나가는 맛이 있다.

오늘역시 3D 공부하고 일본어 공부를 소홀히 하고 있다. 분발하자.

Posted by 노을삼킨별
,