Laden...

C# USB-Handling: Zugriff blocken, wenn ein Stick eingesteckt wird

Erstellt von prakti08 vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.307 Views
P
prakti08 Themenstarter:in
321 Beiträge seit 2008
vor 12 Jahren
C# USB-Handling: Zugriff blocken, wenn ein Stick eingesteckt wird

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.

E
180 Beiträge seit 2010
vor 12 Jahren

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ß

P
prakti08 Themenstarter:in
321 Beiträge seit 2008
vor 12 Jahren

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.

1.820 Beiträge seit 2005
vor 12 Jahren

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 🙁

E
180 Beiträge seit 2010
vor 12 Jahren

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ß

C
1.214 Beiträge seit 2006
vor 12 Jahren

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.