본문 바로가기

Application Hacking2

[ Message Hooking ] Windows Message 처리 방법 이번 포스팅은 Windows에서 발생하는 메시지를 Windows에서 처리하는 방법에 대한 포스팅입니다. 이벤트가 발생하면 윈도우는 메시지를 작성한 후 메시지 큐에 저장하는데, 메시지 큐란 무엇일까요? Message Queue? 메시지 큐를 알아보기 전에, Queue가 무엇인지 알아보겠습니다. Queue란 먼저 집어 넣은 데이터가 먼저 나오는 FIFO 구조로 저장하는 형식을 말합니다. 주로 대칭되는 개념으로 Stack이 있죠. 스택은 나중에 집어넣은 데이터가 먼저 나오는 LIFO 구조로 저장합니다. 메세지 큐란, 메시지를 저장하기 위해 할당된 큐입니다. 예를 들어 사용자가 마우스를 움직이는 경우에 마우스 움직임을 의미하는 메시지인 WM_MOUSEMOVE가 메시지 큐에 저장됩니다. 사용자가 키보드로 입력하는.. 2020. 3. 21.
[ Message Hooking ] Message Hooking 간단한 개요 Message? 윈도우에서 메세지는 키보드나 마우스등의 입력을 말합니다. Hooking? 낚는 것, 낚기. 라는 뜻으로 윈도우에서 발생한 메세지를 낚는 것을 의미합니다. Message Hooking? 간단한 예를 들어보자면, 키보드 메시지를 후킹한다고 가정하였을 때 타이핑 이벤트가 발생하면 공격자가 먼저 이를 인지하여 시스템으로 전달하는 것입니다. 사용자는 'a'를 타이핑 하였으나, 'b'를 타이핑 했다고 전달하는 등 다소 발빠른 공격기법입니다. 조금 더 자세하게 말하자면, 윈도우에서는 이벤트 발생 시 (마우스 클릭, 키보드 타이핑 등) 메세지를 생성하여 CPU에게 보내게됩니다. CPU는 이 메세지를 처리해서 모니터와 같은 출력장치로 값을 보여주죠. 메세지를 처리하는 방법에 대한 상세 설명은 다음 포스팅.. 2020. 3. 20.