PE구조와 DLL인젝션
[ PE ]
- Portable Executable 의 약자
- 이식이 가능한 실행 형식이라는 의미
- 유닉스 COFF ( Common object file format) 기반
- 파일의 확장자는 cpl,exe,dll,ocx,vxd,sys,scr,drv가 있음
* PE File Format 구조
* VAS (Virtual Address Space)
- Process 는 자신의 구성원으로 가상 주소 공간 (VAS)를 가짐
- 이를 실제 물리적 기억장치와 연결 시켜 주는 것을 VMM(virtual Memory Manager)라 합니다.
- 물리적 기억장치란 RAM 뿐 아니라, Default 로 Windows System 이 설치된 논리적 Disk 의 Root에
존재하는 Hard-disk 상의 특정 File인 pafeFile.sys를 포함
- 해당 가상 주소 공간에 무엇을 읽거나 쓰는 행위는 결국 해당 Paging File 의 특정 Page에
동일한 행위를 하는 것이 됩니다
- 가상 주소 공간의 Page들은 paging File 에 Maping 되어야 사용 가능
- Mapping 된 Page를 COMMIT된 Page 라고 함
- File 자체가 Paging File 을 대신하는 경우를 MMF 라 합니다.
★ DLL 인젝션 (DLL Injection)
: Injection(인젝션)은 주사,주입이라는 의미를 가지고 있습니다.
즉, DLL Injection(DLL인젝션)은 DLL을 주입 한다는 의미가 됩니다.
쉽게 말해서 다른 프로세스에 사용자가 원하는 특정 DLL 파일을
강제적으로 주입(삽입) 시키는 것입니다.
IAT (Import Address Table )