본문 바로가기

프로그래밍/Hook

Detour 를 이용한 사용자 레벨에서의 후킹

반응형


DetourCreateProcessWithDllA("C:\\Windows\\notepad.exe",
                                             NULL, NULL, NULL, TRUE,
                                             CREATE_DEFAULT_ERROR_MODE,
                                             NULL, NULL, &_StartupInfo, &_Information, "C:\\notepad_dll.dll", NULL)


해당 API는 첫번째 인자 "C:\\Windows\\notepad.exe" 를 실행 할 때

11번쨰 인자 "C:\\notepad_dll.dll" 의 Dll을 인젝션 할 것이다.

인젝션 된 DLL의 내용은

::DetourAttach((PVOID*)& pfTrueCreateFile, HookingCreateFile)를 이용하여 등록하면 될 것이고

HookingCreateFile 함수를 어떠한 방식으로 후킹할 것인지 작성해주면 된다.


나 같은 경우

CreateFile을 후킹하였으며 노트패드의 저장위치를 사용자 정의 위치로 변경하여 작성하였다.

Detour같은 경우 MS에서 만들어 배포하는 툴이며

무료버전은 32bit밖에 작동 안된다...상용화버전은 돈 천만원 내란다....

참고로 Detour를 이용한 Sandbox 구현하려는 분들은... 안되는거 같다.

혹 상용화버전은 될지도?? 

모르겠지만...



반응형

'프로그래밍 > Hook' 카테고리의 다른 글

Detour 다운로드  (0) 2014.01.14
가장 쉽게 사용할 수 있는 후킹 API SetWindowsHookEx  (0) 2013.11.01