Hooking(후킹) 이란 무엇인가 정의와 방법

Hooking(후킹) 이란?

운영체제, 응용프로그램 또는 기타 소프트웨어 구성 요소의 동작들을 변경 또는 보강하는데 사용되는 다양한 명령, 방법, 기술행위를 말한다.

그러면 Hooking(후킹)은 주로 어떨때 사용되는건가?

주로 키보드 또는 마우스 이벤트 메세지가 응용프로그램에 도달하기 전에 인터셉트 하거나 운영체제 호출을 가로채서

다른 구성 요소의 동작들을 모니터하거나 기능을 수정한다.

Hooking후킹이란

But, 악의적으로 사용자 컴퓨터의 메모리 정보, 키보드 입력 정보 등을 빼돌릴 수 있다.

Hooking(후킹) 방법

물리적 수정

응용 프로그램이 실행되기 전에 리버스 엔지니어링 기법으로 실행 파일 또는 라이브러리 소스를 물리적으로 수정한다.

예를들어 역어셈블러를 사용하여 모듈 내에서 함수의 시작점을 찾고 다른 라이브러리 모듈을 동적으로 로드 후

라이브러리 내에서 원하는 함수를 실행하도록 변경이 가능하다.

런타임 수정

⭐ 운영체제와 소프트웨어는 후크를 삽입하는 프로세스에 충분한 권한이 부여가 되었다면 런타임 도중 이벤트 후크를 쉽게 삽입이 가능하다.

예를들어 Microsoft Windows에서 대화상자, 스크롤바 등 다른 항목에 대한 시스템 이벤트와 응용프로그램 이벤트들을

처리하거나 수정하는데 사용될 수 있다.

Leave a Comment