Forum: Mikrocontroller und Digitale Elektronik Reverse Engineering


von Sebastian B. (querlenker)


Lesenswert?

Hallo liebe Forengemeinde,

ich habe ein etwas außergewöhnliches Problem und suche nach einer 
Lösung. Ich möchte an einem Kombiinstrument ein paar Sachen ändern um es 
für meinen Motorradumbau anzupassen. Ich habe die "Firmware" im Motorola 
S-Rec Format, diese dann nach Intel und anschließend Avr konvertiert da 
ich dachte ich könnte damit was in ATMEL Studio anfangen. Ich muss aber 
dazu sagen das ich ein absoluter "Nichtswisser" auf diesem Gebiet bin. 
Ich dachte ich könnte irgendwie die Grafiken lokalisieren und was die 
Software so "veranstaltet", glaube aber das das eine Nummer zu hoch für 
mich ist.

Hat jemand vielleicht Lust mir dabei zu helfen? Vielleicht ein Student, 
Schüler oder sonstwer..

Einen schönen Abend,

Sebastian

von Hans (Gast)


Lesenswert?

Ich schätze Deine Chancen da was hinzukriegen liegen im 
Promille-Bereich...

von Tomato (Gast)


Lesenswert?

Ich glaub es ist um einiges zu aufwendig.

von Sebastian B. (querlenker)


Lesenswert?

Danke für die schnellen Antworten aber ich möchte nicht so schnell 
aufgeben..
Vielleich kann mir jemand sagen ob man mit diesen 2 Dateien etwas 
anfangen kann?

http://mxbikes.de/1.txt

http://mxbikes.de/1.mhx

von Thomas K. (muetze1)


Lesenswert?

Die große Frage ist doch eher: ist in dem Kombiinstrument überhaupt ein 
Atmel 8 Bit AVR verbaut? Wir reden hier nicht von Atmel DataFlash oder 
EE/E/PROM Schaltkreisen die da vllt. mit auf der Platine rumkullern...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sebastian B. schrieb:
> Ich habe die "Firmware" im Motorola
> S-Rec Format, diese dann nach Intel und anschließend Avr konvertiert

Für was für einen Microcontroller ist denn diese Firmware? Das 
konvertieren des Dateiformates passt nicht die Firmware für 
unterschiedliche Controllertypen an ...

von Sebastian B. (querlenker)


Lesenswert?

Da hab Ihr mich schon erwischt.. wie gesagt ich habe null Ahnung.

Folgende elektronische Bauteile sind auf der Platine, außer LED`s, 
Widerständen etc.:

Infineon BTS712N1  NP739308 05  0726

PH4A8 / FSTU3384

ATMEL 708  24C16AN  8U27

PH3AF  MM74HC  14M

PCF7991AT / CG092205 /Tn607140

F JAPAN MB90F347CA  0725 K57  GS E1

PH3A8 / 24AC00

TLE 4278 G  0650L0P  VC703153K09

Da auch ein Schrittmotor angetrieben wird dachte ich das das bestimmt 
mit einem Mikrocontroller realisiert wird, und so nahm alles seinen 
Lauf..

von Udo S. (urschmitt)


Lesenswert?

Sebastian B. schrieb:
> Ich habe die "Firmware" im Motorola
> S-Rec Format, diese dann nach Intel und anschließend Avr konvertiert da
> ich dachte ich könnte damit was in ATMEL Studio anfangen.

Auf Motorräder übertagen heisst das, du hast eine Kawasaki, und die 
Kennlinienfelder dafür, jetzt willst du sie tunen, und konvertierst die 
Kennlinienfelder auf einen Honda Motor, um sie dann mit einem Yamaha 
Programmiertool zu ändern und damit deine Kawasaki zu programmieren.

Wie logisch erscheint dir diese Vorgehensweise, die du gerade mit 
Software machen willst.
Achso, ausserdem hast du keine Ahnung was für Kenlinienfelder das sind, 
ob für Einspritzung, Lambda Regelung oder Zündzeitpunkt Verstellung.

So ungefähr ist dein Stand mit der Software.

von Sebastian B. (querlenker)


Lesenswert?

Udo Schmitt schrieb:
> Sebastian B. schrieb:
>> Ich habe die "Firmware" im Motorola
>> S-Rec Format, diese dann nach Intel und anschließend Avr konvertiert da
>> ich dachte ich könnte damit was in ATMEL Studio anfangen.
>
> Auf Motorräder übertagen heisst das, du hast eine Kawasaki, und die
> Kennlinienfelder dafür, jetzt willst du sie tunen, und konvertierst die
> Kennlinienfelder auf einen Honda Motor, um sie dann mit einem Yamaha
> Programmiertool zu ändern und damit deine Kawasaki zu programmieren.
>
> Wie logisch erscheint dir diese Vorgehensweise, die du gerade mit
> Software machen willst.
> Achso, ausserdem hast du keine Ahnung was für Kenlinienfelder das sind,
> ob für Einspritzung, Lambda Regelung oder Zündzeitpunkt Verstellung.
>
> So ungefähr ist dein Stand mit der Software.


Leider muss ich Dir da Recht geben, bin da etwas blauäugig rangegangen. 
Aber es muss doch möglich sein irgendwie die Bereiche des Flashspeichers 
zu identifizieren wo die Grafiken für das LCD gespeichert sind und die 
"Formel" zu finden die aus den Impulsen des Rad-Hall-Gebers die 
Geschwindigkeit errechnet. Das möchte ich gerne ändern.

von Guest (Gast)


Lesenswert?

Um die angezeigte Geschwindigkeit 'anzugleichen', gibt es bereits 
fertige Lösungen, die einfach in den Kabelbaum geschaltet werden - such 
mal z.B. nach "speedohealer"

von Sebastian B. (querlenker)


Lesenswert?

Ja das stimmt, aber da gibt es noch ein Problem, das Kombiinstrument 
bekommt die Drehzahl vom Motorsteuergerät, welches bei mir nicht verbaut 
wird, deswegen suche ich auch da nach einer Lösung.

Deswegen dachte ich wenn den Flash irgendwie in verständlichen Code 
wandeln könnte, man wüsste was da für ein Signal benötigt wird, so das 
man auch wie bei dem "speedohealer" ein Modul vorschalten könnte..

von Walter (Gast)


Lesenswert?

sorry, aber vergiss es einfach,
Du kannst es nicht und hier findet sich mit Sicherheit keiner der ein 
paar Wochen investiert und dir umsonst was hinfrickelt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sebastian B. schrieb:
> wenn den Flash irgendwie in verständlichen Code
> wandeln könnte

Dazu müsste man aber wissen, für was für einen Microcontroller der 
Code ist. Zwar taucht in Deiner Auflistung auch tatsächlich ein Baustein 
von Atmel auf, das aber ist nur ein serielles EEPROM und ganz sicher 
nicht der Microcontroller, der hier gesucht wird.
Das dürfte der MB90F347CA sein 
(http://www.fujitsu.com/global/services/microelectronics/product/micom/support/suffix/mb90340.html)

von Sebastian B. (querlenker)


Lesenswert?

Walter schrieb:
> sorry, aber vergiss es einfach,
> Du kannst es nicht und hier findet sich mit Sicherheit keiner der ein
> paar Wochen investiert und dir umsonst was hinfrickelt.

Das es umsonst sein soll habe ich nicht gesagt und wie lange so etwas 
dauert kann ich nicht einschätzen.

von Sebastian B. (querlenker)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Sebastian B. schrieb:
>> wenn den Flash irgendwie in verständlichen Code
>> wandeln könnte
>
> Dazu müsste man aber wissen, für was für einen Microcontroller der
> Code ist. Zwar taucht in Deiner Auflistung auch tatsächlich ein Baustein
> von Atmel auf, das aber ist nur ein serielles EEPROM und ganz sicher
> nicht der Microcontroller, der hier gesucht wird.
> Das dürfte der MB90F347CA sein
> 
(http://www.fujitsu.com/global/services/microelectronics/product/micom/support/suffix/mb90340.html)

Ist es denn möglich anhand der mhx oder 128kb Binärdatei herauszufinden 
um was für eine Programmiersprache es sích handelt? Diese dann zu 
decompilen?

von xyz (Gast)


Lesenswert?

klar - mit sicherheit in C geschrieben. Aber hocheffizient in 
Assemblercode übersetzt und dann in Maschinenbefehle transferiert.

Aber da jeder Programmierer seinen Code gut dokumentiert gibt es auch 
Kommentarzeilen. Du musst nur nach "/* hier steht die gesuchte Formel 
*/" suchen.

von Cyblord -. (cyblord)


Lesenswert?

Sebastian B. schrieb:

> Ist es denn möglich anhand der mhx oder 128kb Binärdatei herauszufinden
> um was für eine Programmiersprache es sích handelt? Diese dann zu
> decompilen?

Ob und welche High-Level Sprache verwendet wurde ist doch völlig 
irrelevant. Die ist verloren und Rückwandeln von Maschinencode bzw. 
Assembler ist nicht möglich. Und wenn dann wäre das ein völlig 
undurchschaubares wirr warr. Dann lieber direkt in Assembler arbeiten. 
Aber das ist alles wirklich völlig utopisch. Vor allem du willst ja den 
Original Chip wieder besspielen, so wie ich das verstanden habe? Wie 
soll das gehen, hast du die nötigen Programmiertools dafür überhaupt?

gruß cyblord

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist zwar nicht ganz so unmöglich, wie der Versuch, aus einem 
Hamburger eine Kuh zu gewinnen, aber es ist nah dran, da i.d.R. stark 
optimierende Compiler verwendet werden und ein Rekonstruieren der 
verwendeten Hochsprachenquelltexte damit sehr, sehr unwahrscheilich ist.

Das wird man auf Assemblerebene betrachten müssen, und das ist bei der 
Aufgabenstellung (ohne Schaltplan, dem man die Funktion von I/O-Pins 
entnehmen könnte) reichlich unrealistisch.

Wenn Du jemanden dafür bezahlen willst, ist es ziemlich sicher 
günstiger, einen neuen Tacho entwickeln zu lassen.

von Sebastian B. (querlenker)


Lesenswert?

xyz schrieb:
> klar - mit sicherheit in C geschrieben. Aber hocheffizient in
> Assemblercode übersetzt und dann in Maschinenbefehle transferiert.
>
> Aber da jeder Programmierer seinen Code gut dokumentiert gibt es auch
> Kommentarzeilen. Du musst nur nach "/* hier steht die gesuchte Formel
> */" suchen.

Wenigstens bin ich in der Lage Ironie zu erkennen..


Rufus Τ. Firefly schrieb:

> Wenn Du jemanden dafür bezahlen willst, ist es ziemlich sicher
> günstiger, einen neuen Tacho entwickeln zu lassen.

Was würde sowas denn in etwa kosten? LCD mit Splash Screen, 
Geschwindigkeitsausgabe im LCD, Drehzahl per Schrittmotor. Natürlich 
"ohne Rechnung"..

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sebastian B. schrieb:
> Natürlich "ohne Rechnung"

Daß Du damit (auch "mit Rechnung") die Straßenzulassung Deines Mopeds 
verlierst, ist Dir klar?

von Sebastian B. (querlenker)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Sebastian B. schrieb:
>> Natürlich "ohne Rechnung"
>
> Daß Du damit (auch "mit Rechnung") die Straßenzulassung Deines Mopeds
> verlierst, ist Dir klar?

Ja selbstverständlich, nur weil ich kein Mikrocontrollerfachmann bin, 
heißt das ja nicht das ich komplett doof bin..

Und bevor Fragen kommen, ich bin auch schon lange keine 16 mehr.

von Weingut P. (weinbauer)


Lesenswert?

uiuiui ... n komplettes Kombiinstrument entwickeln geht schnell in die 
Zehntausende Euros.

Fängt bei der Spannungsversorgung an, geht über Leiterplattenmaße, 
Sensorasuwertungen, EMV-Tests, Mechaniktest (Vibrationen), 
Witterungseinflüsse etc. etc. ...

Sorry, lass es besser.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.