AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

USB-Speicher identifizieren

Ein Thema von Kasoft · begonnen am 6. Mai 2004 · letzter Beitrag vom 6. Mär 2009
Antwort Antwort
Seite 6 von 7   « Erste     456 7      
Robert Marquardt
(Gast)

n/a Beiträge
 
#51

Re: USB-Speicher identifizieren

  Alt 29. Dez 2006, 04:46
VendorID und ProductID sind feste in der Firmware des Sticks abgelegte Nummern. Die VendorID kauft man sich beim USB Implementers Forum, Die PID vergibt der Hersteller fuer ein Produkt. Anhand dieser beiden Nummern identifiziert ein Betriebssystem ein USB-Geraet. Windows schaut erst mal nach ob es ein INF-File mit diesen Nummern entdeckt (genaugenommen diese Stringbestanddteile) und weist dann die im INF-File eingetragenen Treiber zu. Ansonsten versucht Windows anhand der auch vom Geraet gelieferten Klasse (Mass Storage fuer USB Sticks) einen Systemtreiber zuzuweisen.
Die Seriennummer, die auch in diesem Registrystring einkodiert ist, ergibt zusammen mit VID und PID eine eindeutige Kennung fuer das individuelle Exemplar des Geraetes.
Es kann allerdings vorkommen das Billiggeraete keine Seriennummer haben oder noch schlimmer nur genau eine Seriennummer fuer alle Geraete haben. Wegschmeissen das Zeug.

Manipulation am USB-Bereich der Registry ist Unsinn und fuehrt nur zu Problemen der schlimmen Art.

Nicht alle Geraete lassen sich auswerfen, allerdings war ich ueberrascht das sich Maeuse auswerfen lassen. Da hat MS geschlampt.
Ich habe das Programm auf (faktisch) einfache USB-Sticks beschraenkt, da es noch USB-Sticks gibt, die mehrere Partitionen haben und eine andere Methode zum Auswerfen brauchen. Ausserdem wollte ich die Laufwerksbuchstaben anzeigen und da passen andere Geraete schlecht ins Konzept.
  Mit Zitat antworten Zitat
r_amse_s

Registriert seit: 31. Jul 2004
107 Beiträge
 
Delphi 11 Alexandria
 
#52

Re: USB-Speicher identifizieren

  Alt 29. Dez 2006, 22:19
hintergrund ist das Versuch (wie vielleicht andere vor mir versucht haben) ein USB Stick als Lizenzkey zu verwenden.

angenommen man verkauft die app (die auf jedem rechner lauffähig sein soll) zusammnen mit einem stick wo die seriennr. sauber implementiert ist.
somit hat der user eine gültige seriennr. die er in der registry von anderen pc eintragen/verändern könnte. geht das überhaupt ohne sofortige negative auswirkungen zu haben ?

was für relativ sichere alternativen gibt es mein vorhaben zu verwirklichen im bezug auf usb stick (kein echtes hardlock da kein speicher für apps vorhanden auf so einen ding)?

hier scheint jemand das realisiert zu haben, antwortet aber nicht auf mails
CaptNemo

auch andere threads haben relativ alte infos...
liebe Grüße
ramsi
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#53

Re: USB-Speicher identifizieren

  Alt 30. Dez 2006, 05:10
Veraendert man den Registry-Eintrag, so legt Windows beim naechsten Plug einen neuen Eintrag an. Hat das Device eine Seriennummer, dann legt Windows die Registry-Eintraege pro USB Port an (voellig schwachsinnig). Dieses Verhalten kann man allerdings per Registry-Eintrag abschalten.
  Mit Zitat antworten Zitat
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#54

Re: USB-Speicher identifizieren

  Alt 4. Mär 2009, 10:00
Hallo allerseits!

Interessantes Thema hier. Hab mir grad eben die Beiträge durchgelesen und frage mal in die Runde aber auch besonders den Threadersteller:

-Muss es denn unbedingt die Seriennummer sein?

-Wie sieht der Gesamtstring bei einem Stick eines Herstellers bei einer Speicherkapazität aus?
Sins dies Strings dann bei beiden Sticks gleich?

-Wie sieht der String bei unterschiedlichen USB Geräten (Maus, Drucker, Tastatur, Speicherstick...) aus.

Ich denke, sobald dieser String für jedes Gerät eindeutig ist, können die Geräte schon mal unterschieden werden, denn eben mit dem Gesamtstring.

Aber wie sieht das beispielsweise bei zwei USB Sticks des selben Herstellers und der selben Speicherkapazität aus, wenn die beiden Sicks auch noch baugleich sind?

Und wie ist es bei einem Stick, sagen wir von Sony, dessen Speicher auf einem Chip fest eingebaut ist, während der zweite Sick ein Speicherkartenleser ist? Wieder gleiche Speicherkapazität angenommen?

Ich selber werde jetzt auch mal schauen, habe aber 3 Sticks verschiedener Hersteller und mit verschiedener Speicherkapazität. Da wär es eher ungewöhnlich, wenn ich bei allen 3 Sticks gleiche Strings vorfände. Aber ich werde mal schauen.
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#55

Re: USB-Speicher identifizieren

  Alt 4. Mär 2009, 10:52
Hallo,

ist ja lange her, dass ich den Thread geschrieben habe.
Mittlerweile setze ich für solche Fälle einfach die Einträge direkt auf dem Controller.
Wenn ein Kunde identifizierbare Sticks braucht, dann kaufen wir nur noch USB-Sticks mit Boards, welche wir auch nach unseren Wünschen gestalten können. Mit einem speziellen Tool können wir während dem Formatierungsvorgang so ziemlich alles setzen was wir brauchen. Vendor, Serial, Herstellereinträge, CD Partition, Partittionierung, Schreibschutz, Versteckte Partition FAT, Private Partition ohne Dateisystem. Selbst das Blinkverhalten der LED kann man so beinflussen.
Für ein bestimmtes Controllermodell haben wir dann ein paar Delphikomponenten entwickelt mit denen man über eine DLL auf den Stick von einer eigenen Anwendung aus zugreifen kann.
Nachteil: Dieser Zugriff braucht dann Adminrechte. Aber für das setzen der Seriennummern oder andere Einstellungen ist das ja ok.
Lesen der Einträge kann man ja dann später auch ohne entsprechende Rechte.

Gruß

Hendrik
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#56

Re: USB-Speicher identifizieren

  Alt 4. Mär 2009, 11:33
Da ist also die konkrete Vorgehensweise ein kleines Geheimnis? Oder gibt es Komponenten für Delphi, mit denen jeder seinen Stick auslesen kann, ich meine dokumentierte Komponenten. Muss nicht OpenSource geschweige Freeware sein. Es genügt eine kommerzielle Komponentensammlung mit bezahlbarem Preis.

Ist das Auslesen an sich wirlich so kompliziert?
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
delphifan2004

Registriert seit: 26. Nov 2004
Ort: Dresden
266 Beiträge
 
Delphi 10.3 Rio
 
#57

Re: USB-Speicher identifizieren

  Alt 5. Mär 2009, 09:54
Hallo!

Wozu der Aufwand? Ich glaube, irgendwo gelesen zu haben, das es für USB inzwischen auch sog. Dongles gibt. Leider wieß ich nicht mehr, wo.
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#58

Re: USB-Speicher identifizieren

  Alt 5. Mär 2009, 13:53
Hallo,
also nicht das aus meinem vorigen Posting etwas falsch verstanden wird.
Ich meinte natürlich nicht, dass ich den Thread gestartet habe, sondern mich daran beteiligt habe.

DelphiFan2004 danke ich übrigens für den vorangegangenen hilfreichen Beitrag .
Ich denke eher, dass es genau darum geht, diese Art Dongles oder auch andere Software für USB Sticks selbst zu gestalten.
Irgendwer hat das ja mit dem USB Dongle auch so gemacht.

Also eine Sache die man sich ansehen sollte: HID components von Robert Marquardt (der hat sich hier auch an dem Thread beteiligt)

Gruß

Hendrik
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#59

Re: USB-Speicher identifizieren

  Alt 5. Mär 2009, 20:43
Zitat von delphifan2004:
Hallo!

Wozu der Aufwand? Ich glaube, irgendwo gelesen zu haben, das es für USB inzwischen auch sog. Dongles gibt. Leider wieß ich nicht mehr, wo.

http://www.aladdin.de/special/hasp/s...FUaK3godNybllg
  Mit Zitat antworten Zitat
delphifan2004

Registriert seit: 26. Nov 2004
Ort: Dresden
266 Beiträge
 
Delphi 10.3 Rio
 
#60

Re: USB-Speicher identifizieren

  Alt 5. Mär 2009, 22:53
Zitat von HendrikSturm:
Hallo,
also nicht das aus meinem vorigen Posting etwas falsch verstanden wird.
Ich meinte natürlich nicht, dass ich den Thread gestartet habe, sondern mich daran beteiligt habe.

DelphiFan2004 danke ich übrigens für den vorangegangenen hilfreichen Beitrag .
Ich denke eher, dass es genau darum geht, diese Art Dongles oder auch andere Software für USB Sticks selbst zu gestalten.
Irgendwer hat das ja mit dem USB Dongle auch so gemacht.

Also eine Sache die man sich ansehen sollte: HID components von Robert Marquardt (der hat sich hier auch an dem Thread beteiligt)

Gruß

Hendrik
Was mir abar partout nicht einleuchten will, ist der String, der ausgelesen wird. Das Auslesen mit einem dafür geeigneten Tool schon. Aber ich dachte, das dieser String für jeden USB Stick eindeutig sei, weshalb ich auch die Fragen von I.A irgendwo nachvollziehen kann.

Schöni schreibt noch das hier:
Zitat:
Da ist also die konkrete Vorgehensweise ein kleines Geheimnis?
Das sollte eigentlich niemals der Fall sein. Bei Verschlüsselungen weiß ich, das da der Schlüssel, aber nicht der Verschlüsselungsalgorithmus geheim ist.

Mit den HID Komponenten von Robert Marquardt wäre ja auch das Auslesen gelöst. Bleibt noch, den ausgelesenen String zu interpretieren.

Zitat:
Ich nehme mal die relevante Zeile aus deveject:
'USB-Massenspeichergerõt' 'USB\VID_054C&PID_008B\6&2A6BBF53&0&1' [REMOVEABLE]

oder der hier:
\\?\usbstor#disk&ven_sony&prod_storage_media&rev_1 .00#7&1ce25073&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Da kann ich die Fragen von I.A irgendwie nachvollziehen. Es sei denn, bei typgleichen USB Sticks vom gleichen Hersteller und gleicher Speicherkapazität wäre der String bei jedem Stick gleich.

Das hier hat I.A gefragt:
Zitat:
-Muss es denn unbedingt die Seriennummer sein?

-Wie sieht der Gesamtstring bei einem Stick eines Herstellers bei einer Speicherkapazität aus?
Sins dies Strings dann bei beiden Sticks gleich?

-Wie sieht der String bei unterschiedlichen USB Geräten (Maus, Drucker, Tastatur, Speicherstick...) aus.

Ich denke, sobald dieser String für jedes Gerät eindeutig ist, können die Geräte schon mal unterschieden werden, denn eben mit dem Gesamtstring.

Aber wie sieht das beispielsweise bei zwei USB Sticks des selben Herstellers und der selben Speicherkapazität aus, wenn die beiden Sicks auch noch baugleich sind?
Wenn der Gesamtstring für jeden Stick eindeutig wäre hätte man ja die eindeuteige Zuordnung.

Wenn der String jedoch bei baugleichen Sticks mit gleicher Speicherkapazität und gleichem Hersteller bei jedem Stick gleich ist, ist diese Vorgehensweise natürlich nicht die gesuchte Lösung. Dann neheme ich meine Bemerkung zurück. Ich kann auch nachvollziehen, das mancher Programmierer seine Dongle Lösung selber gestalten will.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 7   « Erste     456 7      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz