ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PE Header(3)
    Hack/Reversing 2015. 2. 2. 03:44

    NT Header





    IMAGE_NT_HEADER이다.




    IMAGE_NT_HEADERS구조체다.


    4바이트만큼의 Signature라는 멤버가있는데 해당 멤버는 PE 시그니처를 나타낸다.


    EXE의 경우 PE 라는 문구를 볼수있는데 PE 헤더의 핵심이다.


    004550이 Signature부분이다.


    IMAGE_NT_HEADERS의 구조체 크기는 F8h 이다. 


    멤버에 보면 IMAGE_FILE_HEADER와 OPTIONAL_HEADER32가있는데


    딱보면 32비트용이라는것을 볼수있다.


    64비트에는 IMAGE_OPTIONAL_HEADER64가 따로존재한다.




    IMAGE_FILE_HEADER구조체이다.



    1. Machine


    해당 멤버는 CPU의 고유한값이다. 32 bit intel일경우 014C라는 값을 가진다.

    (ARM: 01c0)




    2. NumberOfSections


    해당 멤버는 섹션의 갯수를 나타낸다. PE 파일은 .text .rsrc .data등 섹션이 존재하는데 이 섹션들의 갯수를 나타낸다.

    이값은 0보다 커야하고, 섹션이 3개인데 2개로 작성되어있다면 실행에러가 발생하고, 섹션이 3개인데 5개로 되어있다, 그럼 3개만 인식하고 나머지는 버린다.




    해당 파일의 섹션은 4개라는것을 알수있다.

    pefile 모듈로 확인해본결과 .text .data .rdata .rsrc가 존재한다.




    3.SizeOfOptionalHeader


    해당 멤버는 IMAGE_OPTIONAL_HEADER32구조체의 크기를 나타낸다.


    00E0 




    4. Characteristics


    해당멤버는 파일의 속성을나타낸다. 실행이가능한지,DLL파일인지등 정보들이 비트로 표현된다.

    (DLL: 0x2000)




    5.TimeDateStamp


    해당멤버는 파일의 실행에 영향을주진않는다. 해당 파일의 빌드시간을 나타낸값이라 별로 중요하지는않다





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

    메모리구조 (code)  (0) 2015.02.09
    PE Header(4)  (0) 2015.02.02
    PE Header(2)  (0) 2015.02.02
    PE Header  (0) 2015.02.02
    LoadLibrary()  (0) 2015.01.27

    댓글

Designed by Tistory.