본문 바로가기

[ ★ ]Study/Windows Device Driver2

윈도우 디바이스 드라이버(2) WinDBG는 무엇일까? Microsoft에서 제공하는 커널 디버거이다. WinDBG는 WDK 설치과정중에 같이 설치된다. 보통 흔히 우리가 아는 BSOD(블루스크린에 의한 사망)에 인해 생성되는 커널덤프파일을 분석한다. 심볼이란? Symbol? 디버거와 연결된 타겟 PC에 대한 정보를 뜻한다. 분석하는데에 있어서 지표가 된다. 즉 이정표라고 볼 수 있다. 이 심볼이 없다면 어셈블리만 분석해야하므로 효율성이 떨어지게 된다. 심볼은 크게 두가지로 나뉜다. - Public Symbol : MS가 제공 - Private Symbol : 제조사가 제공 디버깅은 언제해야할까? - 개발자가 생각한대로 동작하지 않을 때 - 커널 디버깅 할 때 - 커널 덤프파일 분석할 때 커널 덤프파일 얻기 위한 설정 시스템 -> 고.. 2020. 4. 12.
윈도우 디바이스 드라이버 기초(1) 디바이스 인식 후 드라이버 생기는 순서 1) 버스 드라이버 2) 기능 드라이버 3) 필터 드라이버 3가지가 연속되어 디바이스 스택을 만들고 응용프로그램과 연결한다. 후에 명령을 필터 드라이버로 보내게 된다. 디바이스 스택에 가장 최상위에 있기 때문이다. 즉, 응용프로그램에서 명령을 받고 싶다면 디바이스 스택의 맨 위에 만들면 된다. 서비스 프로그램 NT 서비스 프로그램으로 불린다. 로그인, 로그아웃 무관하게 계속 동작할 수 있다. 일반적인 응용프로그램과 달리 GUI를 사용할 수 없다. 디바이스 드라이버는 서비스 프로그램과 같은 형태로 관리된다. 즉, 부팅 과정중에 윈도우 시스템에 자동으로 상주가 가능. 언제든지 메모리에서 제거될 수도 있다. 드라이버의 이중역할 응용 프로그램은 드라이버를 통해서만 디바이스.. 2020. 4. 11.