3 ポイント 投稿者 GN⁺ 2023-09-25 | 3件のコメント | WhatsAppで共有
  • wdk-buildwdk-syswdkwdk-panicwdk-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 で指定された設定を変更することで、その他すべてに対するバインディングを生成できる

3件のコメント

 
GN⁺ 2023-09-25
Hacker Newsの意見
  • RustでWindowsドライバー開発を可能にするプラットフォームに関する記事
  • Microsoftの次期CEO候補と見られているMark Russinovichがコメントで言及されている。彼は以前、Microsoftのエンジニアが訓練を受けたソフトウェアツールおよびNTカーネルのコンサルティング会社を所有していた。
  • Russinovichは、SonyのDRMルートキット、Symantecのルートキットのようなファイル保護、そしてBest BuyのERD Commanderの違法コピーを発見したことで知られている。
  • QueueContext構造体の文脈における、Rustの慣用的な使い方についての議論がある。
  • フラグが付いたコメントでは、C#のようなメモリ管理言語のほうがデバイスドライバーに適しているのではないかと提案している。
 
bungker 2023-11-30

少し過小評価されているように思うので補足します。Russinovich は Windows カーネルに関して数多くの資料やツールを作ってきた人物です。Windows カーネル関連の開発者の中で(ルートキットを作った開発者たちを含めて)、Russinovich の資料や文書を見て学ばなかった人はいないのではないかと思います。

 
botplaysdice 2023-12-01

WindowsカーネルをRustで書き直しているという話は聞いていましたが、ついにドライバーSDKが出てきたのですね。近いうちに20XX年からはRustでドライバーを作れという告知が出そうです。