53C 2020. 4. 5. 19:03
반응형

EAT(Export Address Table)

라이브러리 파일(함수를 모아 놓은 파일(ex:ELL,SYS))에서 제공하는 함수를 다른 프로그램이 가져다 사용할수 있도록 하는 핵심 매커니즘을 말한다.

1. EAT 를 이용해야 해당 라이브러리에서 익스포트하는 함수의 시작 구소를 정확하게 알수있다.

2. PE파일내에 특정 구조체 (IMAGE_EXPORT+DIRECTORY)에 익스포트 정보를 저장하고 있다.

 

 

반면에 PE파일은 여러개의 라이브러리를 동시에 임포트할수 있기 때문에 IAT(프로그램이 어떤 라이브러리에서 어떤 함수를 사용하고 있는지를 기술한 테이블)를 설명하는 IMAGE_IMPORT_DECRIPTOR 구조체는 여러개의 멤버를 가진 배열의 형태로 존재한다.

 

IMAGE_IMPORT_DIRECRTORY 구조체의 시작주소 : IMAGE_OPTIONAL_HEADER32.DataDirectory[0]의 RAV값

IMAGE_OPTIONAL_HADER32 는 NTHEADER - OptionalHader에 위치한다.

kernel32.dll

0000262C = RAV(VitualAddress)

0000C6FD = Size 멤버

 

하... 시발 좃같네 일단 다시 PE해더부터 다시 공부하면서 해야겠다..

 

반응형