ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IAT(Import Address Table) , EAT(Export Address Table)
    windows system 2013. 12. 28. 22:29
    IAT(Import Address Table)

     

    exe는 process생성 주체가 되므로 자신의 ImageBase에 정확히 loading되지만,

    dll은 자신의 ImageBase에 정확히 loading되지 못하며, 빈 공간으로 relocation된다.

     

    IMAGE_IMPORT_DESCRIPTOR구조체로 이루어져 있다.

     

     

    여러 개의 라이브러리를 import하기 때문에 라이브러리의 개수만큼 위 구조체의 배열 형식이 존재하며, 마지막엔 null구조체를 넣어주어야한다.


     

     

     

    IMPORT Name Table(INT)

     

    구조체에선 OriginalFirstThunk, PEView에선 IMPORT Name Table(INT)이란 이름으로 되어있다.

     

     

     

    IAT는 IMAGE_IMPORT_BY_NAME 구조체의 배열로 이루어져 있다.

    첫 2바이트는 라이브러리에서 해당 함수의 고유번호를 나타내며, 그 뒤론 함수의 이름이 배열로 들어있다.

     

     IMPORT Address Table

     

    구조체에선 FirstThunk, PEView에선 IMPORT Address Table(IAT)이란 이름으로 되어있다.

     

     

     

     

    첫번째 창은 IMAGE_IMPORT_DESCRIOTOR을 보여주며,  firstThunk는 IAT의 RVA 주소값을 가지고 있다.

    두번째 창은 IAT로 넘어왔으며, 라이브러리의 API의 RA address를 가지고 있다.
    세버째 창은 ADVAPI32.dll에서 RegSetVauleExW API의 코드 찾을 수 있다.

     

     

     

    EAT(Export Address Table)

     

     

    IMAGE_EXPORT_DESCRIPTOR구조체로 이루어져 있다.

    'windows system' 카테고리의 다른 글

    윈도우에서 파이썬 개발 환경 세팅 (Anaconda, ipython, Visual Studio python)  (0) 2014.09.21
    TLS, TEB, PEB, SEH  (0) 2014.01.08
    DLL injection  (0) 2013.12.24
    CreateProcess API  (0) 2013.12.23
    calling convention  (0) 2013.12.22
Designed by Tistory.