windows - Sådan vises en besked til brugeren i kernen, mens meddelelsen kun kan åbnes af kernen

Indlæg af Hanne Mølgaard Plasc

Problem



I øjeblikket udvikler jeg Windows-driver, der kan beskytte brugeradgangskode, jeg vil vise en besked til brugeren, når brugeren aktiverer beskyttelsen, hvilket indikerer, at driveren er begyndt at arbejde. Men denne besked kan ikke nås af brugerrummet, hvis den ondsindede software kan falde denne besked, mens driveren slet ikke har arbejdet. Og denne besked er defineret af brugeren, så jeg kan ikke skrive det i føreren.
Jeg har søgt på internettet for svaret, men mislykkedes. Jeg har forsøgt at bruge bcdedit.exe til at redigere opstartsparametre, men jeg ved ikke, hvordan kan jeg få denne besked i driveren. Enhver har gode ideer? Så længe brugerrumsapplikationer ikke kan få adgang til meddelelsen, og denne besked er fra brugeren. Tak!

Bedste reference


(Her er et svar, men læs fodnoten om trusselmodellen)



  1. Ring i FltCreateCommunicationPort i dit filter. Parameteren PFLT\_MESSAGE\_NOTIFY MessageNotifyCallback er en peger på en beskedfunktion.

  2. Din klient kalder FilterSendMessage for at sende beskeden til driveren

  3. I din chaufførs tilbagekaldsfunktion (MessageNotifyCallback) gemmer du beskeden valgt af brugeren. Pas på hukommelsesjustering.

  4. Når det er nødvendigt, ringer din klient FilterSendMessage igen, denne gang for at trække den streng tilbage, som den sendte til driveren.

  5. Ring til FltCloseCommunicationPort og andre oprydningsfunktioner.



Skriv findstr /s FltCreateCommuncationPort *.c i src -kataloget på din WDK-installation. Find en hvilken som helst Microsoft-filterprøve for at prøve din idé, det vil få dig til at køre hurtigt. Kopier arbejdskoden til dit filter, når du er færdig. [9] [10] [11]


Men tænk på din trådmodel . Jeg forstår heller ikke noget (helt muligt;) Eller det er ikke værd at gøre. Hvorfor ikke kontrollere om din driver er installeret, kører, og at den digitale signatur er gyldig?


Måske kan du opdatere din OP ved at fortælle os, hvordan vil brugerens tilstandskode vide, at det sender strengen (besked til visning) til den legitime driver i første omgang?