SPY++ : Windows OS의 Visual Studio에서 제공하는 대표적인 메세지 hook 프로그램
SetWindowsHookEX() API를 사용하면 Hook을 구현하는데 편하다.
hook procedure : 운영체제가 호출해주는 콜백함수
메시지 hook을 걸 때 hook procedure는 DLL 내부에 존재해야 하며, 그 DLL의 인스턴스 핸들이 바로 hMod이다.
dwThreadID : 0을 넣으면 글로벌 훅(Global Hook)이 설치되며, 실행 중인(그리고 향 후 실행될)모든 프로세스에 영향을 미친다.
KeyHook.dll : 프로시저(KeyboardProc)가 존재하는 DLL파일이다.
키보드 후킹 예제 : http://yokang90.tistory.com/60
Hookmain.cpp
KeyHook.cpp
Ollydbg로 dll 디버깅 할 땐
옵션 -> Break on new module(DLL)을 체크
그럼 Executable modules창을 통해 KeyHook.dll이 로딩되는 것을 확인 할 수 있다. 그 후 KeyHook.dll을 더블클릭하면 KeyHook.dll의 EP주소로 이동하게 된다.(Break on new module(DLL)의 체크를 해제해준다.)
댓글 없음:
댓글 쓰기