드라이버 쪼물딱 거리기 4탄 - Smashing the Debugger for Fun and Profit

2006/10/02   드라이버 쪼물딱 거리기 3탄
2006/09/21   드라이버 쪼물딱 거리기 2탄  
2006/09/21   드라이버 쪼물딱 거리기 1탄

드디어 '드라이버 쪼물딱 거리기 4탄'입니다.
이번 예제에는 usermode 어플리케이션 코드와 커널 드라이버 코드가 포함되어있습니다.

Window31 님께서 발견해 주신 오타를 수정했습니다. 감사합니다.^^
그리고 pdf 파일에 책갈피가 비 활성화 되어있더군요. 책갈피 활성화 시킨 파일을 다시 올렸습니다. :-)

참고로 소스코드는 Windows XP sp2, VS2005 SP1, ddkbuild 3.13.36, WDF 6001.17051 환경에서 개발/테스트 되었습니다.


SDFP.rar
Smashing_the_Debugger_for_Fun_and_Profit.pdf


CONTENTS

 

1.   Abstraction. 3

2.   Interrupt and Exception. 3

2.1.     Interrupt 4

2.2.     Exception. 5

3.   Interrupt Descriptor Table (IDT) 6

4.   Interrupt or Exception handler procedures 8

2.1.     Example 1: Show Interrupt Handlers 9

2.1.1.   Synchronization issue in SMP. 9

2.1.2.   Implementation. 10

2.2.     Example 2: Interrupt Handler Hooking. 13

3.   Debugging support facilities 14

3.1.     Debug Registers 15

3.2.     Debug Address Registers (DR0 – DR3) 16

3.3.     DR4 and DR5. 17

3.4.     Debug Status Register (DR6) 17

3.5.     Debug Control Register (DR7) 19

4.   Smashing the debugger for fun and profit 21

4.1.     Implementation. 22

5.   Conclusion. 29

Reference. 30

 








 

by somma | 2008/02/15 19:57 | 시스템 프로그래밍 | 트랙백 | 덧글(10)
트랙백 주소 : http://somma.egloos.com/tb/3365054
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by seyool at 2008/02/17 01:04
드디어 공개하시는군요.. :)
Commented by chpie at 2008/02/17 15:22
와! 제가 좋아하는 인터럽트 :) ㅋㅋ
Commented by n0fate at 2008/02/17 15:26
잘보겠숨니돠-_+
Commented by Woof at 2008/02/18 09:21
~
영어 목차의 멋스러움.
리더로 접속해도 댓글 남기기가 잘되었는데, 오늘은 좀 잘안되네요. ;
Commented by ZIZI at 2008/02/18 09:37
꺄~~잘보겠습니당~
Commented by somma at 2008/02/20 11:03
seyool / 분위기 쇄신겸.. ^^
소스코드 템플릿을 쓸만할 거야.. ㅋㅋㅋ

chpie / chpie 님이 보기엔 재미없는 내용일 거에요. 너무 기초적인 것이라..

zizi, n0fate / ^^ 잼있게 보세용.

woof / 어찌하다 보니 목차가 모두 영어로 되어버렸다는.. (한글로 바꿀말이 딱히 떠오르지 않아... 내가 영어를 잘하는 것도 아닌데 쩝.. -__-)
Commented by window31 at 2008/02/21 10:02
오타 발견했어요 ^^ 24페이지에,

(RING3 에서 FS[0] 는 _TEB 를 가리키지맊 RING3 에서 FS[0] 는 _KPCR 를 가리키고 있습니다.)

-> Ring0에서 FS[0]은 _KPCR 로^^ 단순한 오타인거 같지만 그래도 ^^
Commented by somma at 2008/02/21 10:11
window31 / 앗~!! 그렇군요. 감사합니다. 문서를 읽으셨다는 증거군요. 하하.. 다 아시는 내용이라 식상할 수도 있을텐데 읽어주시고, 감사합니다. :-)
Commented by jiman at 2008/02/21 13:59
잘 읽어 보겠습니다.
읽으면서 somma님께서 고민하고 삽질하신 흔적들이 많이 보일것 같네용^^
Commented by somma at 2008/02/21 16:29
jiman / 단순히 요것만 구현하는 건 아주 간단한데... -_-;;
예전에 다른 스레드들, 전역 데이터, 응용프로그램들... 기타 등등등 녀석들과 동기화 하는게 좀 까다로웠었지.
뭐 디버깅 할때 약간은 .. 대략 난감이었다는... -_-;;

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >