3P by neo 2023-09-25 | favorite | 댓글 3개
  • wdk-build, wdk-sys, wdk, wdk-panic, wdk-alloc, 그리고 wdk-macros를 포함한 Rust Crate 모음
    • wdk-build 크레이트는 Windows Developer Kit (WDK)의 바인딩 생성 및 다운스트림 링크를 위한 Cargo 빌드 스크립트를 설정하는 라이브러리
    • wdk-sys 크레이트는 WDK에서 사용 가능한 API에 대한 직접 FFI 바인딩을 제공
    • wdk 크레이트는 WDK에서 사용 가능한 API에 대한 안전한 관용적인 바인딩을 제공
    • wdk-panic 크레이트는 WDK로 빌드된 프로그램을 위한 기본 패닉 핸들러 구현을 제공
    • wdk-alloc 크레이트는 WDK로 컴파일된 바이너리를 위한 alloc을 지원
    • wdk-macros 크레이트는 wdk-sys의 직접 바인딩과 상호 작용을 용이하게 하는 매크로 모음
  • 해당 플랫폼은 WDM 및 WDF 드라이버 개발 모델을 모두 지원하도록 설계
  • 아직 개발 초기 단계에 있으며, 상업적 사용을 위해서는 추천하지 않음
  • 이 프로젝트는 WDM, KMDF, UMDF 드라이버 및 Win32 서비스를 지원하도록 구축되었음
  • 현재 crates.io에서 사용 가능한 크레이트는 KMDF v1.33만 지원하지만, windows-drivers-rs를 복제하고 wdk-sysbuild.rs에서 지정된 설정을 수정함으로써 다른 모든 것에 대한 바인딩을 생성할 수 있음
Hacker News 의견
  • Rust에서 Windows 드라이버 개발을 가능하게 하는 플랫폼에 대한 기사
  • 마이크로소프트의 차기 CEO로 예상되는 Mark Russinovich가 댓글에서 언급됨. 그는 이전에 Microsoft 엔지니어들이 훈련받은 소프트웨어 도구 및 NT 커널 컨설팅 회사를 소유했음.
  • Russinovich는 Sony의 DRM 루트키트, Symantec의 루트키트 같은 파일 보호, 그리고 Best Buy의 ERD Commander 불법 복제를 발견한 것으로 알려져 있음.
  • QueueContext 구조체의 맥락에서 Rust의 관용적 사용에 대한 논의가 있음.
  • 플래그된 댓글에서는 C#과 같은 메모리 관리 언어에서 디바이스 드라이버가 더 나을 것이라고 제안함.

조금 저 평가되는것 같아 덧붙입니다. Russinovich 윈도우 커널과 관련해서 수많은 자료와 툴을 만든 사람입니다. 윈도우 커널 관련 개발자중에( 루트킷을 만든 개발자들 포함)에 Russinovich 의 자료나 문서를 보고 공부하지 않았던 사람은 없을것 같습니다.

윈도우즈 커널을 Rust로 재작성 중이라는 얘기가 있더니, 드디어 드라이버 SDK가 나오고 있군요. 조만간 20XX년 부터는 Rust로 드라이버를 만들라는 공지가나올듯.