본문 바로가기

Dll 인젝션2

DLL 인젝션 DLL 인젝션이란 실행 중인 다른 프로세스에 특정 DLL파일을 강제로 삽입하는 것입니다. DLL 인젝션 구현 방법 다른 프로세스에게 dll 인젝션을 하기 위해 아래와 같이 크게 세가지 방법이 존재합니다. - 원격 스레드 생성 (CreateRemoteThread() API) - 레지스트리 이용(AppInit_DLLs 값) - 메시지 후킹(SetWindowsHookEx() API) CreateRemoteThread() 1. 대상 프로세스 핸들을 구한다 2. 대상 프로세스 메모리에 인젝션할 DLL 경로를 써준다. 3. LoadLibraryW() API 주소를 구한다. 4. 대상 프로세스에 원격 스레드(Remote Thread)를 실행한다. AppInit_DLLs DLL 인젝션을 하기 위한 두번째 방법은 레지스.. 2023. 1. 2.
DLL 인젝션이란 DLL 인젝션이란 실행중인 다른 프로세스에 특정 DLL 파일을 강제로 삽입하는 것입니다. 조금더 기술적으로 표현하자면 다른 프로세스에게 LoadLibrary() API를 스스로 호출하도록 명령하여 사용자가 원하는 DLL을 로딩(Loading)하는 것입니다. DLL인젝션이 일반적인 DLL로딩과 다른점은 로딩 대상이 되는 프로세스가 내 자신이냐 아니면 다른 프로세스냐 하는 것입니다. DLL인젝션 활용 예 LoadLibrary() API를 이용해서 어떤 DLL을 로딩하면 해당 DLL의 DllMain() 함수가 실행됩니다. DLL인젝션의 동작 원리는 외부에서 다른 프로세스로 하여금 Loadlibrary() API를 호출 하도록 만드는 것이기 때문에 (일반적인 DLL로딩과 마찬가지로) 강제 삽입된 DLL의 Dll.. 2022. 6. 13.
반응형