FT232R USB Eeprom clonen

OP #5984369
Lesenswert?

Hallo zusammen,

bin ein absoluter Grünschnabel auf diesem Gebiet und um jeden Beitrag 
und Hilfestellung dankbar.

Folgende Situation:
Ich habe eine Software mit der ich ein Steuergerät auslesen und 
beschreiben kann sowie ein USB-Kabel mit dem ich mittels Windows-PC auf 
das Steuergerät zugreifen kann. Das USB-Kabel hat einen FTDI R232 Chip 
dies habe ich mit hilfe von MProg rausgefunden.
Durch ein Missgeschick habe ich das Gehäuse des USB-Kabel beschädigt und 
befürchte das er nicht mehr lange macht. Daher möchte ich mir einen 
neuen machen.
Das Problem ist das die Software nur mit diesem USB Kabel läuft, 
scheinbar ist er über die eigene Serien-Nummer und die der Software 
verschlüsselt da in der Software die Device-Nummer des USB Kabel 
angezeigt wird.
Wie könnte ich am besten den Eeprom kopieren oder eine Datei der 
Software so anpassen das ein anderer USB mit FTDI R232 von der Software 
angenommen wird.

Danke im Voraus!
Angehängte Dateien:
Beitrag #5984374 wurde von einem Moderator gelöscht.
Beitrag #5984399 wurde von einem Moderator gelöscht.
Gast #5984416
Lesenswert?

MaWin schrieb im Beitrag #5984399:
> Jay B. schrieb:
>> Scyte R. schrieb:
>> Use Linux
>>
>> Und dann? Danke
>
> Öffnest du die Konsole und tippst:
>
> dd /dev/ft232r/eeprom eeprom.img
>
> ein

Wie dass?
Bbei meinem Linux, Kernel 4.4.0-164-generic werden nur die Device

/dev/ttyUSBn mit n E |N erzeugt.
Beitrag #5984419 wurde von einem Moderator gelöscht.
Beitrag #5984452 wurde von einem Moderator gelöscht.
OP #5984491
Lesenswert?

Gustl B. schrieb:
> Er fühlt sich nur cool weil er ein Terminal gefunden hat. Hier unter
> Linux habe ich auch keinen solchen Pfad, braucht man aber auch nicht.
>
> Hier Beitrag "Re: FPGA Board mit FT2232H und Spartan7" hatte ich ein
> kleines C Programm hochgeladen das unter Windows den EEPROM Inhalt vom
> FT2232H klonen kann. Das funktioniert mit minimalen Anpassungen
> vermutlich auch für den FT232R.

Danke Gustl, mit diesem Beitrag kann ich bisher am meisten was anfangen. 
Die anderen sind für mich im Moment Chinesisch. Hatte mir eine Schritt 
für Schritt Anleitung erhofft??? Was, und wie müsste ich das denn 
anpassen. Danke!
Gast #5984495
Lesenswert?

MaWin schrieb im Beitrag #5984452:
> apt-get dist-upgrade

Danke, habe ich mir gedacht, dass man dies auf Spielsystem so macht.

Bei mir wird ein LTS sehr lange genutzt, auf einem Zweitsystem kann man 
dann spielen...

Aber auf einem

Description:  Ubuntu 18.04.3 LTS
Release:  18.04
Codename:  bionic
Kernal:    4.15.0-64-generic

gibt's das Device auch nicht.

Kannst Du uns die Distribution und das zuständige Script nennen?
#5984514
Lesenswert?

Jay B. schrieb:
> Was, und wie müsste ich das denn
> anpassen. Danke!

Gute Frage, vermutlich nicht viel wenn überhaupt. Du kannst es ja mal 
kompilieren. Ich hänge auch mal hier ein Binary ran, aber keine 
Garantie, dass das funktioniert.

Wie benutzt man das?

FT2232H_EEPROM_Clone.exe -r Dateiname
Das liest das EEPROM und schreibt in die Datei.

FT2232H_EEPROM_Clone.exe -w Dateiname
Das liest die Datei und schreibt ins EEPROM.

Wenn es nicht funktioniert, dann mach bitte einen Screenshot der 
Kommandozeilenausgabe. Oh und:

ACHTUNG!
Du kannst damit auch das EEPROM auf deinem Originalkabel überschreiben. 
Also dort wirklich nur den Parameter -r verwenden und nicht -w.
Angehängte Dateien:
Gast #5984725
Lesenswert?

Jay B. schrieb:
> Besten Dank, werde ich heute oder morgen Mal ausprobieren!

wenn du Pech hast dann machen die das darüber

A unique number (the FTDIChip-ID™) is burnt into the device during 
manufacture and is readable over USB, thus forming the basis of a 
security dongle which can be used to protect customer application 
software from being copied.

zu finden unter

https://www.ftdichip.com/Products/ICs/FT232R.htm
OP #5985554
Lesenswert?

Osszilierer schrieb:
> Jay B. schrieb:
>> Besten Dank, werde ich heute oder morgen Mal ausprobieren!
>
> wenn du Pech hast dann machen die das darüber
>
> A unique number (the FTDIChip-ID™) is burnt into the device during
> manufacture and is readable over USB, thus forming the basis of a
> security dongle which can be used to protect customer application
> software from being copied.
>
> zu finden unter
>
> https://www.ftdichip.com/Products/ICs/FT232R.htm

Hallo, danke für deinen Beitrag.
Habe eine FTChipID.dll Datei im Software-Verzeichnis gefunden.
Kann ich die Datei nicht irgendwie bearbeiten damit die Abfrage zum 
Eeprom nicht statt findet oder besser noch, die Daten vom neuen Eepromm 
einfügen?

Besten Dank!
OP #5985586
Lesenswert?

Gustl B. schrieb:
> Jay B. schrieb:
>> Was, und wie müsste ich das denn
>> anpassen. Danke!
>
> Gute Frage, vermutlich nicht viel wenn überhaupt. Du kannst es ja mal
> kompilieren. Ich hänge auch mal hier ein Binary ran, aber keine
> Garantie, dass das funktioniert.
>
> Wie benutzt man das?
>
> FT2232H_EEPROM_Clone.exe -r Dateiname
> Das liest das EEPROM und schreibt in die Datei.
>
> FT2232H_EEPROM_Clone.exe -w Dateiname
> Das liest die Datei und schreibt ins EEPROM.
>
> Wenn es nicht funktioniert, dann mach bitte einen Screenshot der
> Kommandozeilenausgabe. Oh und:
>
> ACHTUNG!
> Du kannst damit auch das EEPROM auf deinem Originalkabel überschreiben.
> Also dort wirklich nur den Parameter -r verwenden und nicht -w.

C:\>FT2232H_EEPROM_Clone.exe -r Dateiname
set: File, Dateiname
w 0,r 1
Dev 0:
Flags=0x0
Type=0x5
ID=0x4036001
LocId=0x24
SerialNumber=FTE3UPE2
Description=TTL232R-3V3
ftHandle=0x0
FT2232H NOT FOUND!
FT_Open FT2232H FAILED!
#5985596
Lesenswert?

So, hab dir ein neues Binary mit einer ID gebaut. Kann aber sein, dass 
manche D2XX Funktionen nur für die FTXXXXH Serie funktionieren.

Dateiname ist einfach ein Platzhalter für die Datei in die das EEPROM 
Abbild geschrieben werden soll. Bei mir habe ich sie EEPROM.dat genannt. 
Aber auch wenn du diese Datei "Dateiname" nennst sollte es 
funktionieren.
Angehängte Dateien:
#5985633
Lesenswert?

Du kannst gerne hier antworten. Nun, also ... das Lesen hat 128 Werte 
gelesen und auch genau diese 128 Werte geschrieben. Warum da dann andere 
Werte drinnen stehen weiß ich nicht.

Verwende mal FT_Prog, weiß aber nicht ob das was bringt. Vielleicht 
musst du das USB Gerät auch mal ab- und wieder anschließen oder so.
OP #5985644
Lesenswert?

Gustl B. schrieb:
> Du kannst gerne hier antworten. Nun, also ... das Lesen hat 128 Werte
> gelesen und auch genau diese 128 Werte geschrieben. Warum da dann andere
> Werte drinnen stehen weiß ich nicht.
>
> Verwende mal FT_Prog, weiß aber nicht ob das was bringt. Vielleicht
> musst du das USB Gerät auch mal ab- und wieder anschließen oder so.

Ich habe noch ein paar USB FTDI bestellt da der auf den ich Clone nicht 
1zu1 der gleiche ist (aber trotzdem ein FT232).
Aber trotzdem vielen Dank!!!
An den Software Dateien konnen wir nichts machen???
Könnte sie dir Uploaden und den Eeprom speicher hast du ja schon ;-)
OP #5985666
Lesenswert?

Gustl B. schrieb:
> Also mehr als so klonen habe ich nie gemacht. Du könntest dir doch noch
> so ein Kabel kaufen. Das heißt "TTL232R-3V3". Vielleicht muss man da gar
> nichts klonen sondern braucht einfach nur so ein Kabel.

Also ich bin mir sicher dass das Kabel über die Software entschlüsselt 
wird. Ich werde es dennoch mit anderen USB FT232 probieren. Schicke dir 
auch den Downloadlink zur Software per PN falls du dich ran traust. 
Würde auch ne kleinigkeit springen lassen wenn wir es schaffen.
OP #5988279
Lesenswert?

MaWin schrieb im Beitrag #5984399:
> Jay B. schrieb:
>> Scyte R. schrieb:
>> Use Linux
>>
>> Und dann? Danke
>
> Öffnest du die Konsole und tippst:
>
> dd /dev/ft232r/eeprom eeprom.img
>
> ein

ubuntu@ubuntu:~$ dd /dev/ft232r/eeprom eeprom.img
dd: nicht erkannter Operand »/dev/ft232r/eeprom“
„dd --help“ liefert weitere Informationen.
ubuntu@ubuntu:~$

und jetzt?
Gast #5988476
Lesenswert?

Um was für ein "Steuergerät" geht es denn überhaupt, wenn du hier schon 
mehrfach nach dem cracken der Software fragst.

Es wird schon seinen Grund haben, wieso die Software das Kabel als 
Dongle benutzt.

A) Du hast die Software gekauft -> wende dich an den Hersteller, wenn 
das Kabel fast defekt ist

B) ... naja musss man nichts zu sagen...
OP #5988675
Lesenswert?

Paul schrieb:
> Um was für ein "Steuergerät" geht es denn überhaupt, wenn du hier schon
> mehrfach nach dem cracken der Software fragst.
>
> Es wird schon seinen Grund haben, wieso die Software das Kabel als
> Dongle benutzt.
>
> A) Du hast die Software gekauft -> wende dich an den Hersteller, wenn
> das Kabel fast defekt ist
>
> B) ... naja musss man nichts zu sagen...

Hallo Paul,

du hast selbstverständlich Recht.
Es handelt sich um ein frei programmierbares Steuergerät für mein 
Rennmotorrad (nur Ringfahrzeug, kein Strassenfahrzeug).

Aber ich finde es eine Unverschämtheit für ein Kabel im Wert von 10€, 
zum wiederholten Mal 180€ zu verlangen nachdem ich beim gleichen 
Anbieter auch 500€ für das Flaschen der ECU bezahlt habe. Also ich hab 
schon 680€ liegen lassen und möchte nur ein Ersatzkabel welches er 
innerhalb 2 Minuten beschreibt und muss noch 180€ blättern. Finde ich 
nicht fair, kann jeder sehen wie er es mag. Und ich sag dir noch was 
wenn wir schon von fair reden, derjenige der mit mir das Kabel zum 
funktionieren bringt bekommt die Hälfte von mir.
Gast #5988718
Lesenswert?

Rein aus Neugier, was sagt denn die Software?
Findet sie ein anderes Kabel nicht?
Kann man neue Kabel irgendwie "registrieren"?
Wie richtet man den Kram erstmalig ein?

Hintergrund der Frage ist, dass es zwar nicht unmöglich ist, ich aber 
nicht glaube dass der Hersteller für jedes Kabel eine eigene Software 
mit "fester ID" erzeugt.
Gast #5988749
Lesenswert?

Jay B. schrieb:
> [...]
> Durch ein Missgeschick habe ich das Gehäuse des USB-Kabel beschädigt und
> befürchte das er nicht mehr lange macht. [...]

Man könnte Dir Hinweise geben, wie Du das Gehäuse reparieren oder  den 
Adapter in ein neues Gehäuse einbauen kannst.

Falls Du das möchtest, wäre ein Foto hilfreich.
OP #5988771
Lesenswert?

Paul schrieb:
> Rein aus Neugier, was sagt denn die Software?
> Findet sie ein anderes Kabel nicht?
> Kann man neue Kabel irgendwie "registrieren"?
> Wie richtet man den Kram erstmalig ein?
>
> Hintergrund der Frage ist, dass es zwar nicht unmöglich ist, ich aber
> nicht glaube dass der Hersteller für jedes Kabel eine eigene Software
> mit "fester ID" erzeugt.


Software öffnet sich für 10 Minuten im Demomodus und bei device wird 
nichts angezeigt. Sobald ich das richtige Kabel anstecke, sieht man bei 
device die ID bzw Seriennummer des Kabels und die Software ist 
freigeschaltet.
Ein anderes Kabel wird nicht erkannt.
#5989088
Lesenswert?

wie immer würde ich erst mal USBView auf das Device ansetzen und einfach 
mal die Deskriptoren auslesen. Im einfachsten Fall wird eine USB 
Seriennummer angezeigt und vielleicht sogar ausgewertet. Als einfacher 
Software Schutz reicht das schon und ich gehe davon aus dass die 
Anwender dieser HW keine IT Profis sind.

Thomas
OP #5989222
Lesenswert?

Paul schrieb:
> Und hast du beim ersten Mal irgendeinen Schlüssel eingegeben?
> Also woher kennt die SW die Seriennummer?

Eben das würde mich auch interessieren. Die Software habe ich auf einer 
selbstgebrannten CD-Rom bekommen, da wurde auch eine Seriennummer der 
Software drauf geschrieben welche ich bei der installation nirgends 
eingeben musste. Diese scheint nur in der Info auf und ist eine andere 
als die Seriennummer des USB-Kabel. Ich denke dass für die Erkennung des 
USB-Kabel in einer der folgenden Dateien hinterlegt ist(siehe Anhang). 
Konnte aber nirgends die Seriennummer des USB-Kabel finden, habe es auch 
mit dotPeek versucht.
Angehängte Dateien:
OP #5990348
Lesenswert?

Thomas Z. schrieb:
> wie immer würde ich erst mal USBView auf das Device ansetzen und einfach
> mal die Deskriptoren auslesen. Im einfachsten Fall wird eine USB
> Seriennummer angezeigt und vielleicht sogar ausgewertet. Als einfacher
> Software Schutz reicht das schon und ich gehe davon aus dass die
> Anwender dieser HW keine IT Profis sind.
>
> Thomas

Danke für deinen Beitrag! Laut USB Device Tree Viewer, sind beide Kabel 
identisch. Lediglich MProg gibt in den letzten Zeilen etwas anderes aus. 
Ich weiss nicht mehr weiter!!!
Angehängte Dateien:
#5990894
Lesenswert?

Jay B. schrieb:
> Danke für deinen Beitrag! Laut USB Device Tree Viewer, sind beide Kabel
> identisch. Lediglich MProg gibt in den letzten Zeilen etwas anderes aus.
> Ich weiss nicht mehr weiter!!!

Nun ich würde sagen Pech für dich oder glaubst du wirklich dass ich mir 
jetzt Word beschaffe nur um deine Dateien anschauen zu können? Einfache 
Txt Dateien würden es auch tun.

Thomas
OP #5991007
Lesenswert?

Thomas Z. schrieb:
> Jay B. schrieb:
>> Danke für deinen Beitrag! Laut USB Device Tree Viewer, sind beide Kabel
>> identisch. Lediglich MProg gibt in den letzten Zeilen etwas anderes aus.
>> Ich weiss nicht mehr weiter!!!
>
> Nun ich würde sagen Pech für dich oder glaubst du wirklich dass ich mir
> jetzt Word beschaffe nur um deine Dateien anschauen zu können? Einfache
> Txt Dateien würden es auch tun.
>
> Thomas

Sorry wusste ich nicht. Nun in PDF angehängt.
Angehängte Dateien:
Gast #5991027
Lesenswert?

Laut FTDI hat der 232R ein internes User EEPROM mit 128 bytes.
Damit wäre alles ab Adresse 0x80 kein beschreibbarer Bereich mehr.

Das Cloning dessen, was überhaupt clonebar ist, hat also geklappt.


Das erklärt halt noch nicht, was da hinten steht bzw wieso die Software 
nicht funktioniert.
#5991386
Lesenswert?

OK die beiden USB devices sind was Descriptoren angeht identisch String 
ID 3 ist auch nicht wirklich eine Seriennummer. Der Ansatz hat also 
nicht funktioniert. Tatsächlich sind aber die EepromInhalte 
unterschiedlich. Ich bin jetzt nicht 100% sattelfest mit den FTDI Chips 
haben die sowas wie eine feste UUID eingebaut?

Kann es sein dass der Bereich ab 0x080 sowas ist und readonly ist?
Versuch mal das klon Eeprom 100% identisch zum Original zumachen. 
Notfalls halt extern. Was für Eeprom Chips sind überhaupt verbaut?

Thomas
OP #5991439
Lesenswert?

Thomas Z. schrieb:
> OK die beiden USB devices sind was Descriptoren angeht identisch String
> ID 3 ist auch nicht wirklich eine Seriennummer. Der Ansatz hat also
> nicht funktioniert. Tatsächlich sind aber die EepromInhalte
> unterschiedlich. Ich bin jetzt nicht 100% sattelfest mit den FTDI Chips
> haben die sowas wie eine feste UUID eingebaut?
>
> Kann es sein dass der Bereich ab 0x080 sowas ist und readonly ist?
> Versuch mal das klon Eeprom 100% identisch zum Original zumachen.
> Notfalls halt extern. Was für Eeprom Chips sind überhaupt verbaut?
>
> Thomas

Hallo, ich weiss nur das es sich um einen TTL-232R-3V3 handelt. Der Chip 
ist direkt im Gehäuse verbaut, sieht aus wie ein stinknormales 
USB-Kabel. Das mit dem Klonen versuche ich ja schon vergeblich. Ich habe 
aber noch keine Möglichkeit gefunden auch die letzten Zeilen zu 
bearbeiten. UUID, keine Ahnung.
#5991451
Lesenswert?

Das Programm von mir habe ich geschrieben um das externe ROM eines 
FT(2)232H zu klonen. Da werden die Funtionen FT_WriteEE und FT_ReadEE 
aus der D2XX Bibliothek verwendet. Ob das hier zu dem Chip passt ist 
unklar.

Hier ist das Datenblatt zu deinem Kabel:
https://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf

Auf Seite 23 sieht man schön den Aufbau, es ist also ein FT232RQ 
(Datenblatt 
https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf 
) verbaut. Und der hat ein kleines internes ROM (128 Bytes). Und er hat 
ein "Unique USB FTDIChip-ID™ feature.".

Jedenfalls ein Teil des ROMs kann/ist auch User Bereich. Wie man dennen 
Größe herausfinden kann und wie man darauf zugreifen kann steht hier:
https://www.ftdichip.com/Support/Documents/AppNotes/AN_121_FTDI_Device_EEPROM_User_Area_Usage.pdf
OP #5991482
Lesenswert?

> Hier ist das Datenblatt zu deinem Kabel:
> 
https://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf
> Auf Seite 23 sieht man schön den Aufbau, es ist also ein FT232RQ
> (Datenblatt
> https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf
> ) verbaut. Und der hat ein kleines internes ROM (128 Bytes). Und er hat
> ein "Unique USB FTDIChip-ID™ feature.".
> Jedenfalls ein Teil des ROMs kann/ist auch User Bereich. Wie man dennen
> Größe herausfinden kann und wie man darauf zugreifen kann steht hier:
> 
https://www.ftdichip.com/Support/Documents/AppNotes/AN_121_FTDI_Device_EEPROM_User_Area_Usage.pdf

Danke Gustl, aber das ist mir zu hoch, ich verstehe nicht wo ich die 
Befehle eingeben usw.. Aber das klingt plausibel und geht sicher in die 
richtige richtung.
#5991944
Lesenswert?

Ich hab mir jetzt nochmal die Datenblätter zum Chip und Kabel angesehen.
Der Chip hat wohl 1kbit = 128 Byte Eeprom. Beim Kabel steht dabei dass 
bei der Produktion eine eindeutige Seriennummer vergeben wird (UUID)
Nicht klar ist mir ob diese Nr der Str 3 ist oder was anderes. Auch ist 
es seltsam was mprog da noch zusätzlich ausliest da ja wohl ab 0x80 gar 
kein Eeprom mehr ist.

Ich könnte mir aber schon vorstellen das die Bytefolge ab 0x80 eine SN 
ist die von der App ausgelesen und in einen Freischaltcode umgerechnet 
wird. Dann sehe ich allerdings keine einfache Möglichkeit, den Klon zum 
laufen zu bekommen.
Du müsstest entweder die Freischaltung in der exe patchen oder 
rausbekommen wie der Code generiert wird. Beides ist für einen Laien 
unmöglich.

Falls du dich traust setz mal den Haken bei disable Serial Number am 
Original und schau ob das Kabel noch erkannt wird. Wenn ja sind die 
Bytes ab 0x80 wohl der Freischaltcode.

Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren