본문 바로가기

Computer/0x02 운영체제

PE구조와 DLL인젝션

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 )