이제 notepad.exe 프로세스에 인젝션된 KeyHook.dll의 훅 프로시저를 디버깅해보자. Notepad.exe를 OllyDbg로 열어보자.
그리고 OllyDdg의 옵션에더 Pause on new module(DLL)을 체크하자.
이 옵션으 디버기(Debuggee) 프로세스(notepad.exe)에 새로운 DLL이 로딩될 때 자동으로 디버깅을 멈추는 옵션이다.(DLL이 인젝션되는 순간부터 디버깅할 때 매우 유용하다.)
이 상태에서 HookMain.exe를 실행하고 notepad.exe에서 키보드를 입력하고 Ollydgb에서 Executable modules 창이 뜬다.
10000000 주소에 KeyHook.dll이 로딩된 것을 확인할 수 있다. 전에 훅 프로시저의 주소(10001020)를 알고 있으므로 바로 가보자.
위 그림과 같이 훅 프로시저(10001020)에 BP를 설치하면 notepad.exe에 키보드 입력 이벤트가 발생할 때마다 이곳에 멈춰진다.
'리버스 엔지니어링' 카테고리의 다른 글
HookMain.exe 디버깅 (0) | 2018.05.28 |
---|---|
키보드 메시지 후킹 실습 (0) | 2018.05.26 |
DLL 인젝션- Window 메시지 후킹 (0) | 2018.05.26 |
UPack PE헤더 상세 분석 -2 (0) | 2018.05.15 |
UPack PE헤더 상세 분석 -1 (0) | 2018.05.15 |