3 Punkte von GN⁺ 2023-09-25 | 3 Kommentare | Auf WhatsApp teilen
  • Eine Sammlung von Rust-Crates, darunter wdk-build, wdk-sys, wdk, wdk-panic, wdk-alloc und wdk-macros
    • Das Crate wdk-build ist eine Bibliothek zum Einrichten von Cargo-Build-Skripten für die Generierung von Bindings und das nachgelagerte Linken des Windows Developer Kit (WDK)
    • Das Crate wdk-sys stellt direkte FFI-Bindings für die im WDK verfügbaren APIs bereit
    • Das Crate wdk stellt sichere, idiomatische Bindings für die im WDK verfügbaren APIs bereit
    • Das Crate wdk-panic stellt eine Standardimplementierung eines Panic-Handlers für mit dem WDK gebaute Programme bereit
    • Das Crate wdk-alloc unterstützt alloc für mit dem WDK kompilierte Binärdateien
    • Das Crate wdk-macros ist eine Sammlung von Makros, die die Interaktion mit den direkten Bindings von wdk-sys erleichtern
  • Die Plattform ist so konzipiert, dass sie sowohl die Treiberentwicklungsmodelle WDM als auch WDF unterstützt
  • Sie befindet sich noch in einem frühen Entwicklungsstadium und wird für den kommerziellen Einsatz nicht empfohlen
  • Dieses Projekt wurde so aufgebaut, dass es WDM-, KMDF-, UMDF-Treiber und Win32-Dienste unterstützt
  • Die derzeit auf crates.io verfügbaren Crates unterstützen nur KMDF v1.33, aber durch das Klonen von windows-drivers-rs und das Anpassen der in wdk-sys/build.rs angegebenen Konfiguration können Bindings für alle anderen Varianten erzeugt werden

3 Kommentare

 
GN⁺ 2023-09-25
Hacker-News-Kommentare
  • Ein Artikel über eine Plattform, die die Entwicklung von Windows-Treibern in Rust ermöglicht.
  • Mark Russinovich, der als möglicher nächster CEO von Microsoft gilt, wird in den Kommentaren erwähnt. Er besaß zuvor ein Beratungsunternehmen für Software-Tools und den NT-Kernel, in dem Microsoft-Ingenieure ausgebildet wurden.
  • Russinovich ist dafür bekannt, Sonys DRM-Rootkit, Symantecs rootkitartigen Dateischutz und die Piraterie von ERD Commander bei Best Buy aufgedeckt zu haben.
  • Es gibt eine Diskussion über den idiomatischen Einsatz von Rust im Kontext der QueueContext-Struktur.
  • Ein markierter Kommentar schlägt vor, dass Gerätetreiber in speicherverwalteten Sprachen wie C# besser wären.
 
bungker 2023-11-30

Ich füge das hinzu, weil mir das etwas unterschätzt zu werden scheint. Russinovich ist jemand, der unzählige Materialien und Tools rund um den Windows-Kernel erstellt hat. Unter den Entwicklern, die mit dem Windows-Kernel gearbeitet haben – einschließlich der Entwickler von Rootkits –, gibt es wohl niemanden, der nicht anhand von Russinovichs Materialien oder Dokumenten gelernt hat.

 
botplaysdice 2023-12-01

Es hieß zwar, dass der Windows-Kernel in Rust neu geschrieben werde, und nun kommt endlich das Treiber-SDK heraus. Wahrscheinlich erscheint bald eine Ankündigung, dass man ab 20XX Treiber in Rust entwickeln soll.