Anfängerfrage Auslesen/Beschreiben

OP #7838434
Lesenswert?

Hallo liebe Community,

ich habe mich seit kurzem mit einem neuen Spleen infiziert und hätte ein paar Fragen, um zu entscheiden, ob ich dahinter bleibe oder besser kalt dusche.

Ich möchte explizit ein Eprom mit der Bezeichnung P87C575EHPN auslesen. Es ist ein 20 Pin mit einem 8051-basierten Mikrocontroller von Phillips.

Verbaut in einem Tempomaten-Steuergerät von Delphi.

Der Gedanke dahinter: Das Verarbeiten des eingehenden Geschwindigkeitssignals zu beeinflussen und einen Schalteingang zu einem Tasteingang zu verändern. Dies dann zB. einem Stc89c516rd (relativ kompatibel) aufzupielen und glücklich zu sein.

Ja, diese Signale ließen sich auch bereits vor dem Steuergerät beeinflussen, aber dann wäre es a kein Spleen und ich könnte wie gewohnt warm duschen...

Angenommen der Chip wäre überhaupt lesbar, bzw nicht gesperrt: Ich habe dieses Modell nicht in der Supportliste von Xgpro gefunden. Hier ist aber der 87c575 zu finden: https://www.mikrocontroller.net/attachment/590768/device_list_hilo_all03_v9-12.pdf

Ich dachte an Ali´s TL866II mit Xgpro. Nur, wie komme ich damit an die vielen Hexadezimalstellen in dem Ding? Für günstigere Empfehlungen wäre ich natürlich dankbar.

Zu mir, beim Wissen und Erfahrungen endet es an den Pin´s der Chips. Und ja, ich habe keine Ahnung, was ich da mache. Aber nehmt mir bitte nicht gleich sämtliche Hoffnung. Viele von euch haben sicherlich nicht anders angefangen.

Vielen Dank im Voraus

#7838441
Lesenswert?

Um gleich die Keule rauszuholen:

Ein Tempomat ist ein /sicherheitsrelevantes/ Gerät im Auto, daran bastelt man nicht herum.

Man möchte sich nicht ausmalen, was passiert, wenn sich das Ding aufgrund von "gepatchter" Software plötzlich entscheidet, in der Tempo-30-Zone Vollgas zu geben. Oder am Zebrastreifen, über den gerade eine Schulklasse läuft.

Schlechte Idee, ganz, ganz schlechte Idee.

#7838445
Lesenswert?

Stefan R. schrieb:

Verbaut in einem Tempomaten-Steuergerät von Delphi.

Der Gedanke dahinter: Das Verarbeiten des eingehenden Geschwindigkeitssignals zu beeinflussen und einen Schalteingang zu einem Tasteingang zu verändern.

Tempomat ist ASIL C: https://en.wikipedia.org/wiki/Automotive_Safety_Integrity_Level#ASIL_C https://en.wikipedia.org/wiki/ISO_26262#Part_9:_Automotive_Safety_Integrity_Level_(ASIL)-oriented_and_safety-oriented_analysis

Stefan R. schrieb:

beim Wissen und Erfahrungen endet es an den Pin´s der Chips.

Vergiss es einfach. Für einen Laien nicht machbar.

Gast #7838462
Lesenswert?

Um das Programm zu Ändern brauchst du seinen Quelltext. Der steht aber nicht in dem Chip drin, sondern ist geheimes Eigentum des Herstellers. Du kannst den Inhalt des Chips genau so schlecht in den Quelltext zurück umwandeln, wie einen Kuchen in sein Rezept und Zutaten.

Möglich wäre höchstens, den Maschinencode zu analysieren. Dafür braucht es allerdings sehr viel Erfahrung mit dem Maschinencode/Assembler dieses Prozessors und Detaillierte Kenntnisse der gesamten Schaltung. Das kann dir niemand im Rahmen einer Diskussion beibringen. Der allgemeine Begriff dafür ist übrigens "Hacken".

Moderator (Firma: Titel) Persönliche Seite #7838463
Lesenswert?

Stefan R. schrieb:

Viele von euch haben sicherlich nicht anders angefangen.

Doch, man fängt anders an, als in einem unbekannten Programm herumzupatchen. Ich habe so angefangen, dass ich warmduschenderweise einfach das Tachosignal manipuliert habe.

Aber wenn du schon mit kaltduschen anfangen willst, dann anslysiere doch einfach mal bekannte 8051 Programme und finde heraus, was die machen und wie die es machen. Zwei Sachen sind sicher: du wirst viel lernen und viel Zeit brauchen.

OP #7838477
Lesenswert?

Vielen Dank für eure (teileweise) informativen Beiträge.

Oliver S. schrieb:

Tut sie aber nicht.

Das lernt man spätestens in der 4ten Klasse, danke. Gehen wir doch einfach mal davon aus, er ließe sich auslesen...

Helmut -. schrieb:

Dusche lieber kalt

Wollte nur das Lesen etwas angenehmer gestalten...

Harald K. schrieb:

ein sicherheitsrelevantes Gerät im Auto

In ein Auto kommt mir das Ding definitiv nicht!!!

Thomas F. schrieb:

Tempomat ist ASIL C:

Respekt, Du hast wohl ein ausgeprägtes Allgemeinwissen. Alle Achtung und danke für diese Passage. Jedoch wird dieser Fall nicht eintreten. Ich habe mir auch explizit dieses Modell von Delphi gewählt, da es im Gegensatz zu anderen Herstellern auch mechanische Hürden im Falle eines Worst Cases stellt. Des weiteren über einen Doppelte Gaszüge mit Öffner und Schliesser, die dies nochmals absichern. Können wir bitte davon ausgehen, dass es für meinen Rasenmäher ist und eure Sicherheitsbedenken zur Seite stellen? Verbauen kann und werde ich das Ding ja. Es ging mir nur um "the next Level", für den ich euch um euer Wissen bittete.

Thomas F. schrieb:

Vergiss es einfach. Für einen Laien nicht machbar.

Dessen bin ich mir (eben nur fast) ziemlich bewusst und wäre auch bereit, Lehrgeld dafür zu bezahlen.

Sherlock 🕵🏽‍♂️ schrieb:

Um das Programm zu Ändern brauchst du seinen Quelltext.

Danke, dieser Mangel an Wissen fehlte mir tatsächlich.

Sherlock 🕵🏽‍♂️ schrieb:

Möglich wäre höchstens, den Maschinencode zu analysieren.

Danke, in diese Richtung ging meine Tendenz... Die Schaltung ist relativ simpel und lässt im Grunde fast jeden Anschluss auf der Platine problemlos erkennen und rückverfolgen.

Darf man hier eigentlich "Hacken" sagen? ;)

Lothar M. schrieb:

Ich habe so angefangen, dass ich einfach das Tachosignal manipuliert habe.

Das war mein erster Gedankengang und reichte bis zur zusätzlichen Platine im Stg. Im Prinzip ne gute und simple Sache mit viel weniger Aufwand. Meinen inneren Monk stellte das aber irgendwie nicht zufrieden. Deswegen wendete ich mich an euch.

Lothar M. schrieb:

anslysiere doch einfach mal bekannte 8051 Programme

Das war gemein, so melde ich mich mit höchster Warscheinlichkeit nie mehr... ;)

Danke nochmals, aber zum eigentlichen Problem des Auslesens konnte mir nun keiner von euch helfen. So scheitere ich schon an der ersten Hürde.

#7838484
Lesenswert?

Stefan R. schrieb:

Angenommen der Chip wäre überhaupt lesbar, bzw nicht gesperrt

Vergiss es

Security Bit 1: When programmed, this bit has two effects on masked ROM parts:

  1. External MOVC is disabled, and
  2. EA# is latched on Reset. Security Bit 2: When programmed, this bit inhibits Verify User ROM.

Ja, es gibt Firmen, die den Chip trotzdem auslesen können, z.B. https://www.break-ic.com/ .

Die willst du nicht bezahlen.

Es ist deutlich einfacher, die Schaltung um den 575 aufzunehmen und ein neues Programm für einen noch unprogrammierten 575 zu schreiben, daß in der Schaltung funktioniert. Ausnahme wäre wenn er CAN Bus nutzt und verschlüsselt kommuniziert.

#7838499
Lesenswert?

Ich finde, wir sollten hier nicht so demotivieren. Das Auslesen des Chips ist mit dem richtigen Equipment kein Problem.

Ich würde mal mit supply voltage glitching anfangen, vielleicht geht's so schon. Das ist vielleicht etwas mehr Aufwand als die bessere Methode, die ich später beschreibe, aber der Vorteil ist, dass es nicht so viel Platz wegnimmt und auch die Lieferzeiten für das Equipment kürzer sein sollten.

Wenn das nicht funktioniert, empfehle ich ein FIB. Wenn man sich auf dem Markt ein wenig umschaut, Preise vergleicht und ein wenig warten kann, dann müsste man ein einfaches Setup für einen geringen siebenstelligen Betrag kriegen können. Damit lässt sich dann bequem der Ausleseschutz abtragen und ggf. auch Leitungen neu kontaktieren.

Gast #7838501
Lesenswert?

F. schrieb:

müsste man ein einfaches Setup für einen geringen siebenstelligen Betrag kriegen können

Das ist ja ein Schnäppchen! Wie viele tausend Rasenmäher muss er hacken, um die Kosten wieder rein zu holen? Oder alternativ sein Haus verkaufen, dann braucht er den Rasenmäher auch nicht mehr.

OP #7838502
Lesenswert?

Michael B. schrieb:

Es ist deutlich einfacher, die Schaltung um den 575 aufzunehmen und ein neues Programm für einen noch unprogrammierten 575 zu schreiben, daß in der Schaltung funktioniert. Ausnahme wäre wenn er CAN Bus nutzt und verschlüsselt kommuniziert.

Danke Michael, so wird mein Duschwasser merklich kälter. CAN Bus existiert nicht. Ein neues Programm würde meine Fähigkeiten schon deutlich überschreiten.

Mir fehlte es wohl trotz einiger Recherche an genügend Grundwissen, um soetwas überhaupt anzugehen.

Selbst der Gedanke an ein FPGA-Entwicklungsboard für eine zusätzliche Schaltung, um das Signal zu beeinflussen ist für mich schon grenzwertig.

Sherlock 🕵🏽‍♂️ schrieb:

Bis du wirklich bereit dazu?

Ich habe den Eindruck, gerade eure Zeit zu verschwenden...

F. schrieb:

Das Auslesen des Chips ist mit dem richtigen Equipment kein Problem

Das Lesen dieses Satzes ist wohltuend. Die Erläuterung dazu (obwohl ich dabei schmunzeln muss, weil so cool und trocken) hingegen niederschmetternd.

Trotzdem danke! ;)

Gast #7838503
Lesenswert?

Stefan R. schrieb:

Ich habe den Eindruck, gerade eure Zeit zu verschwenden...

Das ist halt einen Job für die Ober-Nerds unter den Profis. Im ganzen Land findest du (rate ich jetzt mal) vielleicht 2 Personen, die das können. Ich gehöre nicht dazu. Ich habe früher mal ein Computerspiel auf PC gehackt, aber damals hatte ich auch endlose Langeweile und wusste nicht wohin mit mir. Insofern habe ich eine grobe Vorstellung von dem Aufwand.

OP #7838510
Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:

Das ist halt einen Job für die Ober-Nerds unter den Profis. Im ganzen Land findest du (rate ich jetzt mal) vielleicht 2 Personen, die das können.

Jepp, hab´s gecheckt! (kopfsenk) Ich dachte mir, och den lötest raus, stopfst ihn in ein Lesegerät, machst das Ding irgendwie am Rechner fest, lädst dir ne empfohlene Software aus der weiten Welt des Internet´s, guckst doof auf die wirren Zahlen- und Buchstabenkombinationen, schreibst ein paar liebe Worte an die Community, änderst dies und das, speicherst es auf nen neuen Chip, reinlöten uuuund simsalabim - Kaffee trinken!

Ich dusch jetzt und kümmere mich um den letzten Punkt.

Danke nochmal an alle!

#7838515
Lesenswert?

Nachdem du dein Projekt offensichtlich aufgibst und viel Zeit nicht verschwendest, kannst du dich ja um so mehr um die wichtigen Dinge des Lebens kümmern, wie z.B. Deppenapostrophe:

Stefan R. schrieb:

Ich dachte an Ali´s

Stefan R. schrieb:

endet es an den Pin´s

Stefan R. schrieb:

aus der weiten Welt des Internet´s

Siehe http://www.deppenapostroph.info

Bitte keine Deppenapostrophe.

OP #7838527
Lesenswert?

Wastl schrieb:

Nachdem du dein Projekt offensichtlich aufgibst und viel Zeit nicht verschwendest...

Aufgegeben ist es nicht, doch war dies der der verkehrte Lösungsansatz. Das sehe ich ein und bin den Teilnehmenden für ihre erklärenden Beiträge sehr dankbar. Somit werde ich mein kleines Projekt mit den mir möglichen Mitteln umsetzen.

Falls ich wieder mal eine Frage oder einen Gedankengang wie den Eingehenden habe, so werde ich auch versuchen meine Schreibweise unter Berücksichtigung Deiner Phobie anzupassen.

#7838530
Lesenswert?

F. schrieb:

Das Auslesen des Chips ist mit dem richtigen Equipment kein Problem.

Ich würde mal mit supply voltage glitching anfangen

War eigentlich schon geklärt, ob die Schutz-Bits aktiviert sind? Mein erster Ansatz wäre, die Testpunkte für den Debug-Port zu identifizieren, ein passendes Interface zu besorgen und mal zu schauen, was das Teil sagen möchte. Ich kenne einige Beispiele, wo Controller, die theoretisch hätten "zu" sein können, ganz einfach auslesbar waren. Aktuelles Beispiel hier: https://github.com/uhi22/Ioniq28Investigations/tree/main/VESS_VirtualEngineSoundSystem#how-to-read-the-controllers-memory

Auch den ausgelesenen Code zu analysieren ist eine lösbare Aufgabe. Im FOC-Thread hab ich verstanden, dass die Jungs dort die Originalsoftware patchen um den Motorregler zu tunen. Wenn man Muße, Zeit und Talent hat, geht das. Es gibt gut beschriebene Beispiele, z.B. https://medium.com/techmaker/reverse-engineering-stm32-firmware-578d53e79b3 oder Google "Ghidra reverse engineering".

Ich find's schade, dass man einen motivierten Einsteiger nicht einfach mal lernen lässt. Was dann tatsächlich geht oder nicht geht, sieht er dann schon, aber bis dahin gibt's viel spannendes zu entdecken.

#7838539
Lesenswert?

Uwe schrieb:

Auch den ausgelesenen Code zu analysieren ist eine lösbare Aufgabe.

In diesem Fall sicher machbar (falls man an den Code rankommt). Der 80C51 ist relativ einfach und im Homecomputer-Zeitalter (vor vielen Jahrzehnten) wurden ROMs vergleichbarer Größe ohne Hilfmittel wie IDA Pro oder Ghidra analysiert. Alles nur eine Frage des Aufwands den man investieren will.

OP #7838546
Lesenswert?

Dieter S. schrieb:

Wo ist denn der Tempomat verbaut

Er wird eigentlich in BMW-Motorrädern verbaut. Dieser ist aus einer K1200LT. Die Auswahl war aufgrund der hochwertigen und durchdachten Bauweise mein Favorit.

Uwe schrieb:

also fällt der Ansatz "auslesen, patchen, programmieren" leider aus.

Ja, leider ist das Eprom OTP Da es Die Dinger nicht wirklich zu Hauf gibt, dachte ich eben an eine wiederbeschreibbare Alternative wie zB. einem STC89C516RD.

Dieter S. schrieb:

(falls man an den Code rankommt)

Das ist ja meine erste Hürde, wegen der ich hier bin.

Angehängte Dateien:
#7838548
Lesenswert?

Stefan R. schrieb:

Das ist ja meine erste Hürde, wegen der ich hier bin.

Man müßte den Mikrcocontroller auslöten, erst dann kann man versuchen den Code auszulesen (oder feststellen dass das Auslesen gesperrt ist). Die Frage ist ob es noch genügend derartige Steuergeräte gibt damit man das Auslöten riskieren kann (wenn es schiefgeht sollte man idealerweise bezahlbar an Ersatz kommen).

OP #7838549
Lesenswert?

Dieter S. schrieb:

Man müßte den Mikrcocontroller auslöten

Das wäre wohl das kleinste Problem. Und mit einem Sockel wäre auch der Test vereinfacht. Dazu hätte ich jedoch gerne zuerst die passenden Peripheriegeräte und einen Lichtblick ob des Erfolgs.

Im Anhang habe ich die beiden genannten Chips gegenübergestellt. links der verbaute P87C575EHPN, rechts der alternative STC89C516RD

Angehängte Dateien:
#7838554
Lesenswert?

Stefan R. schrieb:

Das wäre wohl das kleinste Problem. Und mit einem Sockel wäre auch der Test vereinfacht. Dazu hätte ich jedoch gerne zuerst die passenden Peripheriegeräte und einen Lichtblick ob des Erfolgs.

Mein Elnec Programmer kann mit dem P87C575 umgehen und ihn auslesen (falls er nicht gesperrt ist). Wenn Du den P87C575 auslöten kannst und ihn mir schickst kann ich es ausprobieren. Schick mir eine PM falls Du es so machen möchtest.

OP #7838567
Lesenswert?

Uwe schrieb:

einen Programmer besorgen oder bauen

So war auch mein Plan. Nur leider finde ich nichts "von der Stange", das den Rahmen des zu opfernden Lehrgeldes passt. Hast Du eine Idee?

Dieter S. schrieb:

Mein Elnec Programmer kann mit dem P87C575 umgehen

Das wäre ja megasuper! Darauf würde ich gerne zurück kommen, denn dieser liegt ausserhalb des Budgets.

Nichtsdestotrotz bräuchte ich ja selbst etwas Adäquates zum Wiederbeschreiben.

Da das Thema nun doch Formen annimmt, hätte ich jedoch zuerst gerne ein zweites Exemplar organisiert, mich um alternative Chips gekümmert und einen Programmer besorgt.

Nur bei letzteren tappe ich noch im Dunkeln

OP #7838573
Lesenswert?

Wastl schrieb:

Na dann bist du ja die nächsten paar Jahrzehnte beschäftigt, sofern du nicht einen siebenstelligen Betrag ausgeben wirst.

Durch Verzicht mancher Modalpartikel könntest Du Deine Aussagen angenehmer gestalten. Bitte berücksichtige dies aufgrund meiner angepassten Schreibweise.

Sherlock 🕵🏽‍♂️ schrieb:

Der Chip ist (wie gesagt) nicht wieder beschreibbar.

Die Bezeichnung OTP hab ich nicht übersehen. Deswegen bräuchte es ja auch ein Äquivalent.

#7838650
Lesenswert?

Harald K. schrieb:

Warum nur glaube ich nicht an das Märchen vom Rasenmäher?

Warum kommt es mir völlig abstrus vor, die Sensorwerte, also Geschwindigkeit und vielleicht Bremspedal, bei einem Tempomaten zu manipulieren ?

"Herr Wachtmeister, Herr Wachtmeister, Ihr Radargerät muss die 80km/h falsch anzeigen, mein Tempomat steht auf 50 ?"

"Egal ob ich bremse oder nicht, mein Tempomat hält das Tempo".

#7838668
Lesenswert?

Michael B. schrieb:

Warum kommt es mir völlig abstrus vor, die Sensorwerte, also Geschwindigkeit und vielleicht Bremspedal, bei einem Tempomaten zu manipulieren ?

Was ich mir an etwas anderer Stelle vorstellen könnte, wäre eine Änderung der Wertevorgabe. Der Tempomat bzw. Limiter in meinem Auto lässt mit einfachem Antippen des Hebels nur ein Verstellen in ganzen 10-km/h-Schritten zu. Für kleinere Schritte kann man durch längeres Antippen die Geschwindigkeit um jeweils 1 km/h erhöhen.

Ich hätte gerne 5-km/h-Schritte.

Das aber ist sicher nicht eine Funktion des Tempomaten/Limiters, sondern irgendwo in den Tiefen des Bordcomputers vergraben. Der kann auch in 8-km/h-Schritten arbeiten, wenn nämlich die Zweitanzeige des Tachos auf mph umgestellt wird. Der Zeiger zeigt weiterhin km/h an, aber die numerische Anzeige und auch der Tagestouren- und Gesamtstreckenzähler zeigt Meilen an. Der Tempomat/Limiter wird in diesem Fall in 5-mph-Schritten verstellt ...

Die Verbrauchsanzeige kennt dann auch mpg ("miles per gallon"), aber es ist unklar, welche Gallone sie meinen, und was das überhaupt soll; in Großbritannien, dem einzigen Meilen nutzenden Land, in dem ich mein Auto gelegentlich bewege, haben sie Gallonen nur im Museum**, und die sind dann auch noch größer* als die aus dem Land der niveaulosen Großmäuler. Das Auto ist von einem deutschen "Premium"-Hersteller und durchaus auch für den britischen Markt produziert worden.

Ist also "nur" Software, aber an die kommt natürlich niemand ran. Ich versuch's auch gar nicht, vorher werd' ich mir eh' ein anderes Auto anschaffen müssen.

*) "imperial" Gallon ~ 4.546 l, US Gallon 3.785 l

**) Großbritannien ist anderslautenden Gerüchten zum Trotz fast vollständig metrisch, das einzige, was nicht metrisch ist, sind Entfernungs- und Geschwindigkeitsangaben im Verkehr und das Volumen von Milch und Bier (wobei es die beiden auch in metrischer Form gibt. Ein Pint aber ist genau der eine Schluck mehr, der dem halben Liter Bier fehlt ...).

Die größere der beiden Gallonen wird nur noch auf ein paar karibischen Inseln genutzt.

#7838676
Lesenswert?

Stefan R. schrieb:

So war auch mein Plan. Nur leider finde ich nichts "von der Stange", das den Rahmen des zu opfernden Lehrgeldes passt. Hast Du eine Idee?

Leider nichts wirklich konkretes. Vor ca. 30 Jahren hatte ich mal so 'was in der Art gebaut mit ca. 4 Stück DS8212 (8-Bit-Latch mit Tristate), am PC-Parallelport. Heutzutage hätte ich erwartet, dass man soetwas fertig und günstig bekommt. Wenn der Spaß am Basteln im Vordergrund steht, dann halt mit Arduino, leider hat der nicht genügend Pins, was man aber mit Seriell-zu-Parallel-Schieberegistern (zB 74HC595) lösen könnte. Oder einen anderen Controller suchen, der genügend Pins hat.

#7839054
Lesenswert?

Michael B. schrieb:

Damit ist doch (jedem ausser dir) klar

Nein. Es geht um ein Fahrzeug für den europäischen Markt, nicht um ein Fahrzeug für den US-Markt. Und in Großbritannien wird die (größere!) der beiden Gallonen zwar nicht mehr aktiv verwendet, es gibt sie aber noch.

Und tatsächlich: Britische Verbrauchsangaben in mpg ("miles per gallon") beziehen sich auf die "imperiale" und nicht auf die US-Gallone.

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