My Study/System

DLL Injection (1) - 간단 기본 개념

DLL Injection 은 말 그대로 DLL를 삽입한다는 것이다. 어디에? 다른 프로세스에!!

즉, DLL Injection은 정상적인 프로세스에 개발자가 제작한 DLL를 강제로 삽입한다는 것이다.


그럼 강제로 삽입한 DLL은 어떻게 실행을 시키는가? 그건 삽입할 목표 프로세스가 아닌 다른 프로세스에서 LoadLibrary API를 실행함으로 삽입한 DLL이 정상적인 DLL처럼 DLLMain 함수가 실행됩니다.




LoadLibrary 를 호출하면 DLL Main 함수가 실행 된다는데, 어디부분이 실행이 될까??



바로 DLL_PROCESS_ATTACH 부분이다. 


반대로 DLL 를 unload 하면 DLL_PROCESS_DETACH 부분이 실행이 되는 것이다.

'My Study > System' 카테고리의 다른 글

DLL Injection (3) - Injector 사용  (0) 2016.05.23
DLL Injection (2) - EAT 를 이용한 DLL Injection  (0) 2016.05.23
DLL Injection (1) - 간단 기본 개념  (0) 2016.05.23
Memory : stack(스택)  (0) 2015.06.26
Calling Conventions(콜링 컨벤션)  (0) 2015.05.18
레지스터  (0) 2015.05.13

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.