Guten Abend,
ich habe eine Frage zu C# in Verbindung mit USB.
Ich habe einige Beispiele und Tutorials gefunden, in denen mit USB-Geräten kommuniziert wurde.
Ist es möglich sich zwischen Betriebssystem und USB-Gerät zu hängen?
Beispiel:
Ich stecke einen USB-Stick in meinen PC.
Bevor dieser von Windows erkannt wird, sollte mein Programm diesen erkennen und den Zugriff von Windows blocken.
Ist das mit C# möglich oder sollte ich mich für dieses Thema in C einarbeiten?
Könnt ihr mir Bücher zu diesem Thema empfehlen?
Vielen Dank im Voraus.
prakti08
Use the source, Luke!
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
Defakto nein, weil dafür müsstest du dich in den Treiber einklinken und ein Modul schreiben (Kernelmodul).
Aber wenn ich dich richtig verstehe willst du nur verhindern das USB-Sticks benutzt werden oder?
Wenn ja gibt es mehrere Wege die zu realisieren, z.b. kannst du denn die Rechte einschränken für den Zugriff auf den USB-Treiber oder wenn es direkt mit Software geschehen soll, mit Hilfe von Sharp USB das Device auswerfen direkt nach dem es eingebunden wurde. Nicht schön aber funktioniert 😃 Hat vor allem den Vorteil, dass du den Stick analysieren kannst (Hersteller, Seriennummer...) direkt nach dem einbinden und auswerfen zur Beweissicherung.
Gruß
Das ist wirklich eine sehr unschöne Lösung 😃
Dann werde ich mich wohl mit WDF auseinandersetzen müssen.
Use the source, Luke!
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
Hallo!
es gibt dafür bereits fertige Software, allerdings kostenpflichtig (ob kostenfrei für privaten Einsatz, kann ich jetzt nicht sagen).
Dafür einen eigenen Treiber schreiben zu wollen, halte ich für gewagt. Da sollte der Nutzen daraus schon enorm sein.
Evtl. als Alternative:
Man kann ja die Windows-Meldungen abfangen. Wenn nun einer der zu sperrenden USB-Sticks eingesteckt wurde, wirft man diesen gleich wieder aus. Ist zwar nicht die sicherste Lösung, aber zumindest sehr viel einfacher umzusetzen.
Nobody is perfect. I'm sad, i'm not nobody 🙁
wenn du vorran kommst, wär ich an informationen gern interessiert 😃 hab bisher die andere lösung im Einsatz seit 3 jahren, funzt wie ne 1 ^^ aber geht auch schöner bzw. besser.
Gruß
Was genau willst du denn erreichen? Willst du bestimmte USB Sticks verbieten, oder alle? Wenn du alle verbieten willst, sollte es mit Bordmitteln durchaus möglich sein. Nur bestimmte Geräte zu erlauben/verbieten sollte mit neueren Windows Versionen durchaus auch möglich sein, schau mal hier:
Allow users to install only authorized devices
Einen Treiber wirst du nicht so nebenbei schreiben können. Das ist eine Welt für sich, wo du dich ganz genau auskennen musst. Und du hast viel schlechtere Möglichkeiten, das zu debuggen. Ich würd einfach mal behaupten, man muss sich mindestens ein Jahr intensiv einarbeiten, um einen halbwegs sinnvollen Treiber schreiben zu können.