저번 포스팅에서는 지뢰찾기에서 클릭시 발생하는 이벤트핸들러 호출 부분 코드를 후킹해서 모든 지뢰가 표시되는 함수 실행이 되도록 해보았다. 이번에는 클릭 이벤트 핸들러 중간에 호출하는 win32u.dll의 NtUserSetCapture() API를 후킹해보도록 한다. - 빌드 : VisualStudio 2015 - 환경 : Windows10 x64 후킹이 성공하면 아래와 같이 모든 지뢰가 표시되기 때문에 지뢰들을 피해서 게임을 진행할 수 있다 :) 타겟 API 선정 타겟 API는 win32u.dll의 NtUserSetCapture()로 정했는데, 클릭시 호출되는 클릭 이벤트핸들러를 트레이싱하다보면 마우스의 움직임을 감지하는 SetCapture함수를 호출(내부에서 NtUserSetCapture 호출)하는 것..
저번 포스팅에서 CreateRemoteThread를 통해 지뢰찾기.exe에 메시지창을 띄우는 스레드를 실행시키는 DLL을 인젝션해보았다. 이번에는 DLL에 메시지창을 띄우는 스레드를 실행시키는 코드 대신에 특정 코드를 후킹하는 Code Hooking 코드를 넣어보려 한다. 사실 코드 후킹이라는 단어를 썼는데 코드 패치라고도 볼 수 있을 것 같다. - 빌드 : VisualStudio 2015 - 환경 : Windows10 x64 / Windows7 x32 타겟 코드 (함수 호출 코드) 선정 먼저 어떤 함수를 호출하는 코드를 후킹할지를 정해야하기 때문에 간단히 지뢰찾기.exe를 분석할 필요가 있다. 사실 '코드 후킹 = 꼭 함수 호출 코드 부분 후킹'을 의미하는 것은 아니고 다양한데 난 함수 호출 코드 부분..