반응형

IAT: Import Address Table

 

IAT란

프로그램이 어떤 라이브러이에서 어떤 함수를 사용하고 있는지를 기술한 테이블

 

DLL 파일

 소프트웨어 개발에서 자주 쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해서 표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것이다

 

역사

DOS시절에는 DLL 파일이라는 개념자체가 존재하지 않았다.

프로그램에 필요한 바이너리 코드를 모아 프로그램안에 입력 시켜놓았다.

어런식으로 프로그램을 실행하면 프로그램의 크기도 커지고 window 의 멀티테스팅 기능을 활용하기 어려웠다.

그래서 개발자들은 프로그램에 라이브러리를 포함시키지 않고 라이브러리를 모아 놓은 파일을 만들어서 필요할때 꺼내어 쓰자 라는 아이디어로  DLL 파일이 탄생하게 되었다. 

쉽게 말해서 DLL파일은 라이브러리를 모아놓은 프로그램이다.

 

DLL파일을 로딩하는데 필요한 기술이 IAT와 메모리 매핑 기술이다.

 

DLL파일의 로딩 방법

 

1. 프로그램에서 라이브러리 호출 -> DLL 파일 로딩 -> 라이브러리 사용 종료 -> 메모리 해체

2. 프로그램 실행 -> DLL파일 로딩 ->프로그램 종료 -> 메모리 해체

 

 

=================

아직 완벽히 이해 못했지만 아마 포랜식을 배울떄 다시 보지 않을까 싶다...

반응형

'리버싱 > 리버싱 핵심원리' 카테고리의 다른 글

PE 파일구조 복습1차 (구조체!)  (0) 2020.04.05
EAT  (0) 2020.04.05
RVA to RAW  (0) 2020.03.11
PE File Format : PE Heder  (0) 2020.03.09
도대체 리버싱을 어떻게 공부해야 하나요?  (0) 2020.03.04
Posted by 53C
,