1. Foren
  2. Kommentare
  3. OpenSource-Forum
  4. Alle Kommentare zum Artikel
  5. › NZXT: Lüfter auch unter Linux…

"Viel arbeit erspart"?

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema


  1. "Viel arbeit erspart"?

    Autor: AllDayPiano 21.03.17 - 12:24

    Also wenn ich irgendein USB-Gerät habe, das nicht als HID erkannt wird, und das keine großen oder schnellen Datenübertragungen benötigt, dann ist meine erste Vermutung, dass da ein FTDI drauf ist.

    Mein nächster Schritt nach 5 Minuten Gerätemanager studieren wäre gewesen, einen Comport-Sniffer mitlaufen zu lassen.

    Wenn die Anweisungen (wie hier im Quelltext gezeigt) als ASCII Übertragen werden, dann wäre es doch ein leichtes gewesen, über einen Mitschnitt der Verbindung und ein bisschen Herumspielen in der Software die Anweisungen problemlos herauszulesen.

    Durch diese primitive Form des "reverse engineering" hab ich schon so manche USB Hardware missbrauchen können :)

  2. Re: "Viel arbeit erspart"?

    Autor: kaymvoit 21.03.17 - 12:51

    Hm, gibts wirklich relevant viele Geräte, die als COM-Port auftauchen? Oder lässt sich das irgendwie verstecken?

  3. Re: "Viel arbeit erspart"?

    Autor: AllDayPiano 21.03.17 - 13:37

    kaymvoit schrieb:
    --------------------------------------------------------------------------------
    > Hm, gibts wirklich relevant viele Geräte, die als COM-Port auftauchen? Oder
    > lässt sich das irgendwie verstecken?

    Ja und ja. Mehr relevante Geräte, als man so denkt.

    Und nein - wenn das Gerät einen FTDI (oder einen Klon) nutzt, dann taucht er auch als Virtueller COM Port auf.

    Der Grund liegt einfach darin, dass oft Standard-µC Verbaut werden (wie hier der STM), und diese nativ mindestens immer RS232 haben. Dann braucht es (wenn überhaupt) noch den FTDI, um die +5V unsymmetrisch auf +-12V zu bekommen. Das spart natürlich enorm Entwicklungsaufwand.

    Bessere µC besitzen dann einen symmetrischen USB Port. Zumeist bieten diese dann zwei Möglichkeiten:

    a) sie erzeugen selbst einen virtuellen COM-Port, der dann über USB angesprochen werden kann, und
    b) sie sind ein kompatibles HID.

    b) hat den Vorteil, dass der native Windows-Treiber reicht, um eine low-level-Kommunikation zu erlauben. Tatsächlich werden über dieses HID dann auch nur Bytes geschubst. Oftmals schicken Entwickler hier dann aber auch nur ASCII-Zeichen, weil sich diese im µC wieder bequem auswerten lassen - zumindest dann, wenn niedrige Datenübertragungsraten ausreichen. Für diesen Fall reicht aber ein Software Sniffer nicht mehr aus (zumindest wäre mir keiner bekannt). Dann müsste man mit einem Logic Analyzer wie dem Saleae Logic draufgehen, den es aber auch bei Ebay als Clon für wenige Euro gibt. Insgesamt ist es also kaum weniger schwierig, nur braucht es halt auch Hardware dafür.

    Bei Hochgeschwindigkeitsübertragungen (bzw. Realtime) wird das Protokoll jedoch so weit abgespeckt sein, dass man tatsächlich nur wenige Bytes für Instruktionen und dann sehr viele Bytes Antwort bekommt. Da man aber grob weiß, welche Daten da zurückkommen müssten (z.B. periodische Drehzahlsignale) kann man auch das mit vertretbarem Aufwand rückentwickeln.

    Wirklich schlecht wird es dann, wenn das Protokoll sehr viel Overhead hat (z.B. erstmal 300kByte wirren Datenaustausch) oder wenn eine Verschlüsselung eingesetzt wird (bei teuren Geräten dann normal), weil man an den Private Key nicht herankommt. Aber da ist man auch weit weit jenseits einer Lüftersteuerung :)

  4. Re: "Viel arbeit erspart"?

    Autor: x-beliebig 21.03.17 - 14:19

    Diese USB Bridges (ob nun FT232R oder MCP2200) haben ein internes EEPROM, mit dem man bestimmen kann, wie sie sich am USB ausgeben.
    Somit kann man schon so eine Verschleierung vornehmen. Wie man sieht, macht das bloss kaum einer denn man wird dem USB Konsortium beitreten müssen und dafür Mitgliedsbeitrag zahlen müssen, wenn man eine Vendor ID zugeteilt bekommen will.



    1 mal bearbeitet, zuletzt am 21.03.17 14:21 durch x-beliebig.

  5. Re: "Viel arbeit erspart"?

    Autor: luker 21.03.17 - 15:53

    AllDayPiano schrieb:
    > FTDI, um die +5V unsymmetrisch auf +-12V zu bekommen.

    Nicht ganz. "Der" FTDI ist heißt FT232 und übersetzt USB (vom PC) in so-ähnlich-wie-RS232. Auf PC-Seite meldet er sich standardmäßig als virtueller COM-Port. FTDI bietet aber auch die Möglicheit, die USB-Hardwarekennung zu verändern. Dann taucht das Gerät an beliebiger Stelle im Gerätemanager auf. Das zieht aber Änderungen an der Treiber-inf-Datei nach sich. Damit gilt der ganze Treiber nicht mehr als signiert und der Benutzer bekommt von Windows mindestens eine Horrorwarnung vorgehalten. Oder selber nachsignieren. Das ist ein Kapitel für sich.

    Auf der Geräteseite macht ein FT232 logisch RS232 aber in 0-5V. Das was Du meintest ist ein MAX232. Der kann diesen TTL-Pegel in +-12V umsetzen. Dann ist es richtiges RS232.

  6. Re: "Viel arbeit erspart"?

    Autor: AllDayPiano 21.03.17 - 20:22

    Richtig. Max232. Durcheinander gebracht.

    Aber vom Prinzip bleibt es gleich.

  7. Re: "Viel arbeit erspart"?

    Autor: Lasse Bierstrom 21.03.17 - 22:54

    Nur dass RS-232 nur die Spannungspegel definiert. Was ihr meint ist ein UART. Liefern fast alle Controller als Standard Schnittstelle mit :)
    RS232 ist -15/15V, der PC liefert nur - 12V aus seinem Netzteil.

  8. Re: "Viel arbeit erspart"?

    Autor: AllDayPiano 22.03.17 - 08:01

    Lasse Bierstrom schrieb:
    --------------------------------------------------------------------------------
    > Nur dass RS-232 nur die Spannungspegel definiert. Was ihr meint ist ein
    > UART. Liefern fast alle Controller als Standard Schnittstelle mit :)

    Umgangssprache halt :)

    > RS232 ist -15/15V, der PC liefert nur - 12V aus seinem Netzteil.

    Kleine Korrektur: RS232 ist BIS 15V, wobei der PC nur 12V verwendet. Den MAX232 braucht es also als Pegelwandler von den 3,3V/5V des µC auf die 12V des PCs.

  1. Thema

Neues Thema


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Systemadministrator (m/w/d) Microsoft 365
    hkk Krankenkasse, Bremen
  2. Produktberater mit Schwerpunkt Dokumenten-Management (m/w/d)
    Stiftung Kirchliches Rechenzentrum Südwestdeutschland, Eggenstein-Leopoldshafen
  3. Senior Software Entwickler / Technischer Projektleiter (w/m/d)
    EURO-LOG AG, Hallbergmoos
  4. IT Mitarbeiter (m/w/d) im 1st Level Support
    Grünecker Patent- und Rechtsanwälte, München

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 499,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de