일단 링크. https://social.msdn.microsoft.com/Forums/Windowsserver/en-US/ef29f34e-6d6f-475b-a522-161f76d804d2/hardware-development-kits-for-windows-10-version-1709-october-2017?forum=wdk WINDOWS10 1709 용 WDK로 예전 버전에 만든 녀석을 컴파일 할 때 나오는 에러 Windows Kit\build\WindowsDriver.Default 에다가 $(WDKContentRoot)\bin $(WDKContentRoot)\bin\x64 $(WDKContentRoot)\bin\x86 를 추가해주면 된다.
1.6 디버깅 툴 드라이버의 경우에도 디버깅이 가능하다. 단 커널 레벨에서 동작하기 때문에 간단하지 않다. 드라이버 디버깅에 사용하는 두 가지 툴이 DebugView 와 WinDBG 이다. 1.6.1 DEBUGVIEW 실시간으로 디버깅할 수 있는 것이 아니라 디버그 출력 관련 API를 출력한다. 주로 런타임 디버깅이 불가능한 경우 사용한다. 블루스크린이 발생할 때 함께 전달되는 버그 체크 코드와 문제 발생 시점을 보고 의심되는 코드 위치에 특정 변수의 값을 디버그 메시지로 출력하거나 특정 루틴이 호출되었는지 확인하는 용도로 사용한다.Capture Kernel 옵션을 체크해야지 커널에서 발생한 로그를 볼 수 있다. 드라이버가 출력하려고 하는 디버그 로그를 보는 방법은 DebugView 프로그램을 이용하거나..
드라이버 INF 구조 드라이버를 작성하면 같이 작성해야하는 것이 바로 INF 파일이다. 사용자의 컴퓨터에 장치가 연결되면 운영체제는 INF를 보고 어떤 드라이버를 연결할지 판단한다. INF는 섹션으로 구분해서 드라이버 정보를 기술한다. 섹션은 [ ] 로 감싸서 구분한다. [ Version ] 섹션 어떤 포멧의 내용을 서술하게 되는지 설명한다. Signature $WINDOWS NT : NT 계열의 운영체제만 지원한다. 즉 요즘 운영체제를 지원한다는 의미이다. $WINDOWS 95 : 9X와 ME 계열 지원 $Chicago : 모든 계열의 운영체제를 지원한다. Class=class-name 드라이버가 어떤 클래스를 지원하는 드라이버인지 나타낸다. 여기서 클래스는 장치 유형을 말한다. USB, 마우스 키보드..
2 개발툴 설치 1.2.1 WDK DDK : XP WDK 6000 : XP, 비스타 WDK 7600 : XP, 비스타, 윈도우7WDK 8.0 : 비스타, 윈도우7 윈도우8 윈도우 8.1WDK 8.1 : 비스타, 윈도우7 윈도우8, 윈도우 8.1 1.2.2 WDM, KMDF 그리고 UMDF 윈도우에서 사용되는 디바이스 드라이버들은 유형에 따라서 코딩 방식이 서로 다르다. 보편적으로 많은 드라이버들이 사용하는 것이 WDM 그리고 WDF에 대해서 간단히 소개할 예정이다. WDM과 WDF는 사실상 같은 드라이버로 봐도 무방하다. WDM 형식은 C WDF 는 C++, MFC 정도로 비유하면 딱 맞다. 그래서 WDM 형식으로 개발해본 경험자들은 WDF형식의 드라이버를 개발한 개발자보다 OS 지식이 훨씬 풍부하다고도..
1. 디바이스 드라이버 1.1.1 기본 설명 유형에 따라서 드라이버 개발 방법이 서로 다르기 때문에 한 가지 유형의 드라이버를 개발해본 개발자라도 다른 지식의 도움 없이 다른 유형의 드라이버를 작성하는 것은 어렵다. 요컨데 오디오 디바이스 드라이버를 개발해봤어도 블루투스 드라이버를 개발하는 것은 힘들다는 것이다. 디바이스 드라이버는 오디오 배터리 블루투스 디스플레이 파일시스템 네트워크 등등등 아주 다양하다. 1.1.2 레거시 드라이버 개발자들에게 레거시 드라이버(legacy driver)는 여러가지 의미로 사용되는데 PNP Driver(Plug and Play) 의 한 종류로 실제 하드웨어가 존재하지 않는 상황에서 가상의 하드웨어를 하나 만든 뒤 이를 위한 드라이버를 만들게 되는데 이 것을 레거시 드라이..
- Total
- Today
- Yesterday
- LKM
- rootkit
- gdb intel 변환
- backdoor
- vmware 오류
- 디바이스
- 레거시 드라이버
- 변환
- 백도어
- gdb명령어
- breakpoint
- 드라이버
- gdb intel
- module
- PNP 드라이버
- 루트킷
- gdb 명령어
- vmware cannot connect to the virtual machine
- 모듈
- VMware
- GDB
- DriverEntry
- Intel
- BP
- IRP
- 리눅스 모듈
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |