본문 바로가기

리버싱 핵심원리

[리버싱 핵심원리] 2주차 3-21장 (Windows 메시지 후킹) 21장 Windows 메시지 후킹메시지 훅(Message Hook) Windows 운영체제는 Event Driven 방식으로 동작합니다. 마우스 이동, 창 크기 변경등의 작업은 모두 이벤트(Event)입니다.이런 이벤트가 발생할 때 OS는 미리 정의된 메시지를 해당 응용 프로그램으로 통보합니다. 응용 프로그램은 해당 메시지를 분석하여 필요한 작업을 진행하는 것입니다. 메시지 훅이란 바로 이런 메시지를 중간에서 엿보는 것입니다. 이러한 메시지 훅 기능은 Windows 운영체제에서 제공하는 기본 기능이며, 대표적인 프로그램으로 Ms Visual Studio에서 제공되는 SPY++가 있습니다.SetWindowsHookEx() hook procedure는 운영체제가 호출해주는 콜백 함수입니다. 메시지 훅은 걸 .. 더보기
[리버싱 핵심원리] 1주차 2-13,14,15장 (PE,UPX) 13장 PE File FormatPE 포맷이란? PE(Portable Executable) 파일은 Windows 운영체제에서 사용되는 실행파일 형식입니다. 애초에는 (Portable 단어가 의미하는 대로) 다른 운영체제에 이식성을 좋게 하려는 의도였으나 실제로는 Windows 계열의 운영체제에서만 사용되고 있습니다. 기본구조 DOS header부터 Section header까지를 PE 헤더, 그 밑의 Section들을 합쳐서 PE 바디(Body)라고 합니다. 파일에서는 offset으로, 메모레에서는 VA(Virtual Address, 절대주소)로 위치를 표현합니다. 파일이 메모리에 로딩되면 모양이 달라집니다. 파읠의 내용은 보통 코드(.text), 데이터(.data), 리소스(.rsc) 섹션에 나뉘어서 .. 더보기