15

Click here to load reader

20110415 detour

Embed Size (px)

DESCRIPTION

window api hook

Citation preview

Page 1: 20110415 detour

재미로 해보는 윈도우 후킹

아꿈사

김성안<[email protected]>

Page 2: 20110415 detour

윈도우 후킹 방법을 대략 살펴보고

간단히 실습을 해볼까 해요.

Page 3: 20110415 detour
Page 4: 20110415 detour

윈도우 API 후킹

Page 5: 20110415 detour

1. IAT 후킹

• Import Address Table

– Import 주소를 보관하고 있는 테이블

• IAT에 있는 API 주소를 변경하는 방법

• IAT에 없는 API는 후킹이 불가능

Page 6: 20110415 detour

2. EAT 후킹

• Export Address Table

– Export 주소를 보관하고 있는 테이블

• EAT에 있는 API 주소를 변경하는 방법

Page 7: 20110415 detour

3. Detour 후킹

• 후킹 대상 함수의 처음 부분에

원하는 함수로 이동하는 Jump 명령을 삽입

• 원래 있던 명령은 Trampoline 영역에 보관

• 후킹 함수에서 Trampoline을 호출하여

원래 함수 처리가 가능

• Detours – MS Research

Page 8: 20110415 detour

4. Debugging

• 디버깅을 하면서 API를 후킹하는 방법

Page 9: 20110415 detour

5. SSDT후킹

• System Service Descriptor Table

– Native API 주소를 보관하고 있는 테이블

Page 10: 20110415 detour

6. IDT 후킹

• Interrupt Descriptor Table

– 인터럽트를 핸들링할 주소를 보관하고 있는 테이블

• IDT에 있는 인터럽트 처리 주소를 변경

Page 11: 20110415 detour

7. IRP 후킹

• Input/Output Request Packets

• MajorFunction 테이블을 변경

Page 12: 20110415 detour

윈도우 메시지 후킹

Page 13: 20110415 detour

1. 윈도우 메시지 후킹

• 윈도우에서 제공하는 함수를 이용

Page 14: 20110415 detour

시연

Page 15: 20110415 detour