Reverse Engineering alter serieller Geräte und Klonen mit Arduino

Ich habe ein Musikgerät, das eine Fernbedienung verwendet. Diese Fernbedienung kommuniziert bidirektional mit der Haupteinheit. Es kommuniziert über das RS-422-Protokoll (hauptsächlich für die Kabelentfernung, glaube ich).

Ich habe ein paar RS422-zu-USB-Adapter gekauft, um die Daten mit einer Software zur Überwachung der seriellen Schnittstelle in beide Richtungen auszuspionieren.

Ich habe das noch nicht ganz zum Laufen gebracht; Ich denke, es liegt höchstwahrscheinlich an den Verbindungseinstellungen, die ich versuche, da die Daten, die ich sehe, durcheinander sind. Soweit ich dem Servicehandbuch entnehmen kann, sollten dies 8-Bit-Zeichen ohne Parität und 2 Stoppbits sein.

Wie auch immer, da dieses Gerät in Bezug auf die Technologie jetzt archaisch ist (1982, glaube ich), wäre es meiner Meinung nach ein großartiger Kandidat für das Klonen mit einem Arduino.

Die Fernbedienung selbst verwendet einen alten Intel 8749 Mikrocontroller. Dies war ein MCS-48-basiertes Gerät (glaube ich), in das auch ein kleines EEPROM für den Programmspeicher eingebaut war. Dies war 8-Bit mit 3 E / A-Ports.

Die Remote-Einheit verfügt im Wesentlichen über 12 alte alphanumerische 4-stellige Litronics DL-1414-Displays (die ein ASCII-Zeichen empfangen und bis zur Aktualisierung in ihrem Speicher halten), eine Reihe von Tasten und Fadern (die über einen ADC verbunden sind) und einen dB-Pegelmesser .

Ich habe das Servicehandbuch des Geräts, das viel ausführlicher auf das Bitadressierungsschema der Geräte eingeht, das ich hochladen kann.

Ich denke vielleicht falsch darüber nach, aber meine Idee war, die gesendeten und empfangenen Daten zu schnüffeln und zu erfassen, um herauszufinden, was gesendet wird, wenn beispielsweise ein Fader bewegt wird. Ich würde mir vorstellen, dass dies dann einfach an einem Slide-Pot in Arduino befestigt werden kann und dann diese Bewegung an den seriellen Bus gesendet wird, möglicherweise mit einigen hinzugefügten Steuerbits und dann dem Wert.

Ich würde mich sehr über einige Gedanken und vielleicht Ratschläge freuen, wie ein solches Reverse Engineering angegangen werden kann.

hier mal ein paar infos aus dem serviceheft.

Antworten (3)

Was Sie suchen, ist ein Tool namens Logikanalysator, wie dieses http://www.dx.com/p/logic-analyzer-w-dupont-lines-and-usb-cable-for-scm-black-148945

Eine dazugehörige Software sollte in der Lage sein, UART sowie viele andere Protokolle zu dekodieren, um das Reverse Engineering zu erleichtern.

Sie können es entweder Hardware oder Software tun.

Hardware: Kaufen Sie etwas wie von Spark erwähnt. Oder bauen Sie Ihre eigenen; Verwenden Sie im Allgemeinen etwas wie und Arduino, um zwischen SoftSerial (auf einem UNO oder Serial auf einem Leo) zum Serial zu echoen. Wo Sie das SoftSerial über einen geeigneten Schnittstellentreiber mit Ihrem 422-Bus verbinden.

Software: Oder verwenden Sie einfacher Software, um die Nachrichten an die serielle Schnittstelle zu schnüffeln, um die Daten zu erfassen. Unter Windows sieht etwas wie http://freeserialanalyzer.com/ gut genug aus.

Sie können die Daten der RS232/422/485-COM-Ports überwachen und auch alle Aktivitäten der seriellen Schnittstelle in einem System mit dem Dienstprogramm https://github.com/eltima-software/RS232-Data-Logger anzeigen, protokollieren und analysieren kostenlos und macht alles, was es zu tun vorgibt, ohne Einschränkungen.