프로그래밍/Hook

가장 쉽게 사용할 수 있는 후킹 API SetWindowsHookEx

꿀봉♪ 2013. 11. 1. 16:02
반응형


가장 쉽게 키로그 프로그램을 만들 수 있는 방법은

위에 소개한대로 SetWindowsHookEx API를 사용하는 방법이다.

사용하는 방법은 아래와 같다.

SetWindowsHookEx(WH_KEYBOARD_LL, KeyHookProc, theApp.m_hInstance, NULL);

요곳이야 말로 키보드를 후킹하겠다.라는 건데

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx 에도 나와 있듯 키보드만 되는게 아니다. 마우스 등등 각각 대상을 정할 수 있다.

KeyHookProc 이거슨 콜백 함수인데 키보드를 예제로 인자를 보자면 

int nCode, WPARAM wParam, LPARAM lParam 3개의 인자를 볼 수 있다.

LRESULT CALLBACK KeyHookProc(int nCode, WPARAM wParam, LPARAM lParam)

{

return CallNextHookEx(hKeyHook,nCode,wParam,lParam);

}

중요한건 쉽게하는만큼 쉽게 막힌다. 그리고..

WPARAM 은 LPKBDLLHOOKSTRUCT 에 파싱해야 되고 

LPARAM  값은 keydown, keyup, 과 같은 값들을 표현한다.




반응형