Forum: Mikrocontroller und Digitale Elektronik Wie gesperrten S9S08DZ96 auslesen?


von Ralf G. (dougie)


Lesenswert?

Moin zusammen,

weil jemand anders bei der Entwicklung etwas geschlampt hat, möchte ich 
jetzt versuchen was zu retten... auf nem Gebiet, wo ich noch nicht so 
viel Ahnung habe.

Ich habe hier eine Steuerung mit einem S9S08DZ96 der sich öfters selber 
das Programm zerschiesst, wenn die Versorgungsspannung abfällt (z.B. im 
Auto wenn Licht an und Batterie wird langsam leer).

Ich habe mir das mal angesehen und ein BDM Interface auf der Platine 
gefunden. Gestern kam der USBDM Clone aus CN und ich hab mich da sofort 
mal dran gesetzt  (Bin ja neugierig).

Interface wird erkannt, Prozessor wird erkannt... ergo: BDM Interface 
läuft.
Wenn ich mit dem Flash-Programmer versuche den Flash zu lesen, bekomme 
ich aber nichts raus.

Frage: wie kann ich den Prozessor auslesen? Ich vermute der ist 
gesichert, aber oft gibt es ja bekannte workarounds.

Hat jemand einen Tipp für mich?

VG
Ralf

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Ralf G. schrieb:
> Ich habe hier eine Steuerung mit einem S9S08DZ96 der sich öfters selber
> das Programm zerschiesst

Vielleicht muß man nur das Unterspannungsreset enablen. Bei manchen MCs 
gibt es dafür Fusebits.
Kann aber auch ein buggy Custom-Bootloader sein, der versehentlich in 
die Löschsequenz geht.

Ralf G. schrieb:
> Wenn ich mit dem Flash-Programmer versuche den Flash zu lesen, bekomme
> ich aber nichts raus.

Ja, Auftragsentwickler setzen gerne die Lockbits, weil sie sich schämen, 
wie grottenschlecht ihr Programm aufgebaut ist.
Wenn man nicht festlegt, daß der Quelltext Bestandteil des Auftrags ist, 
hat man schlechte Karten.

Ralf G. schrieb:
> Frage: wie kann ich den Prozessor auslesen? Ich vermute der ist
> gesichert, aber oft gibt es ja bekannte workarounds.

Welche MCs sollen das denn sein?
Bekannt ist mir da nichts.
Gegen Geld soll wohl einiges möglich sein.

von Ralf G. (dougie)


Lesenswert?

....gegen Geld scheidet aus. Wenn, dann möchte ich das irgendwie selber 
hin bekommen. Nennen wir es sportlichen Ehrgeiz. Außerdem ist hier 
derartig viel geniale Intelligenz und Erfahrung vertreten, das ich da 
gewisse Hoffnungen habe, das jemand helfen kann & vllt mag.

Ich hab hier z.B. einen ebenso gesperrten Motorola MC68HC05B16
allerdings hab ich den ausgelötet und in nem XProg-M Programmer... der 
umgeht die Security Fuses ganz automatisch, wenn er sie sieht.

VG
Ralf

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Sicherheitssperren sind dafür gedacht, dass man sie nicht umgehen kann. 
Ansonsten könnte man sich die ganzen Entwicklungskosten dafür sparen.

Ralf G. schrieb:
> ....gegen Geld scheidet aus.

Für Geld musst Du dir aber die benötigten Komponenten besorgen um die 
Fuses wieder aktivieren zu können. Diese kosten wahrscheinlich noch viel 
mehr, als den Spezialisten zu bezahlen. Der kann die Anschaffungskosten 
ja auch mehrere Auftraggeber verteilen.

von Peter D. (peda)


Lesenswert?

Man könnte auch einen externen Reset-IC anschließen, ob es dann stabiler 
läuft.

: Bearbeitet durch User
von Ralf G. (dougie)


Lesenswert?

Christian H. schrieb:
> Sicherheitssperren sind dafür gedacht, dass man sie nicht umgehen kann.
> Ansonsten könnte man sich die ganzen Entwicklungskosten dafür sparen.
>

Nun, hier gibt es weder einen noch existierenden Entwickler, noch irgend 
einen anderen, der hier noch Ansprüche geltend machen könne. Die 
Entwicklung liegt sicher 15 Jahre zurück und das Produkt gibt es auch 
nicht mehr.

Daher gibt es hier höchstens was zu gewinnen, aber nichts zu 
verlieren...

von Ralf G. (dougie)


Lesenswert?

Peter D. schrieb:
> Man könnte auch einen externen Reset-IC anschließen, ob es dann
> stabiler
> läuft.

Würde es vermutlich. Aber hier geht es darum, das WENN eine solche 
Steuerung ausfällt, ist sie quasi tot. Es sei denn, man könnte das 
Programm wieder restaurieren.

Dafür müsste ich es aber erst mal sehen. ;-)


Hätte ich über das SPI Interface eventuell bessere Chancen als über das 
BDM?

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Ja, Auftragsentwickler setzen gerne die Lockbits, weil sie sich
> schämen, wie grottenschlecht ihr Programm aufgebaut ist.
Was ist das denn für ein blöder Kommentar? Normalerweise haben die 
Auftragsgeber von sowas überhaupt keine Ahnung, können den Quellcode 
daher gar nicht bewerten und es ist ihnen auch völlig egal solange das 
Produkt das tut was es soll.

> Wenn man nicht festlegt, daß der Quelltext Bestandteil des
> Auftrags ist, hat man schlechte Karten.
Wenn ich z.B. für mein Auto vier Reifen bestelle, werden auch nicht fünf 
geliefert. Wundert Dich das etwa auch?

> Gegen Geld soll wohl einiges möglich sein.
Die Chinesen ätzen den Chip aus der Plastik, finden raus was das für 
einer ist und löschen anschließend die Lockbits. Danach lässt sich das 
Programm einfach über das Programmierinterface auslesen. Es erfordert 
aber einiges an Technik um das hinzukriegen, die technische Hürde ist 
für einen Heimbastler ziemlich hoch. Deswegen kostet's halt auch Geld 
wenn man sowas möchte.

von Ralf G. (dougie)


Lesenswert?

...wie gesagt: bei einigen Prozessoren scheint es bekannt, das sie durch 
Glitches der Versorgungsspannung oder der Taktfrequenz dazu gebracht 
werden können, ihr gesperrtes Inneres doch frei zu geben.

Der aktuelle Kandidat hat 96k Flash und 2k EEPROM... ich bräuchte 
vermutlich beides.

von Ralf G. (dougie)


Lesenswert?

Bin mir nicht ganz sicher, wie das "Bewertungsschema" bei Beiträgen hier 
funktioniert oder funktionieren soll. :-/

Ist meine Frage zu trivial, zu abwegig oder einfach uninteressant?

Frage mich, woher dafür negative Bewertungen kommen.
Nicht das mich das sonderlich tangiert, aber ich dachte ich hab nett 
(genug) gefragt.

VG
Ralf

von Stefan F. (Gast)


Lesenswert?

Ralf G. schrieb:
> Ist meine Frage zu trivial, zu abwegig oder einfach uninteressant?

Du hättest auch fragen können, wie du am besten in die Wohnung deines 
Nachbarn einbrechen kannst. Dabei machen auch nur sehr wenige Leute 
positiv begeistert mit.

von Ralf G. (dougie)


Lesenswert?

...dieser Vergleich hinkt nun wirklich an allen Ecken und Enden.

Was mit mit diesem Forum passiert?

von Stefan F. (Gast)


Lesenswert?

Ralf G. schrieb:
> ...dieser Vergleich hinkt nun wirklich an allen Ecken und Enden.

Das sehe ich anders. Die meisten hier verdienen ihr tägliches Brot mit 
seriöser Elektronik und/oder Softwareentwicklung. Stell dir mal vor, 
mein Chef oder Kunde bekommt mit, dass ich hier Ratschläge zum Hacken 
geben würde. Das Vertrauen wäre dann im Eimer.

von Ralf G. (dougie)


Lesenswert?

...ah, jetzt versteh ich. Du hat den Thread gar nicht gelesen... dann 
sei dir verziehen.

Ansonsten, um dein Beispiel zu bedienen:
Das Haus des Nachbaren ist seit 15 Jahren verlassen und verfällt, weil 
der Architekt damals schlecht gebaut hat. Der Nachbar ist tot und hat 
keine Erben. Niemand erhebt Anspruch auf das Haus und ich würde es gerne 
reparieren, damit wieder jemand drin wohnen kann.

So besser?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Ralf G. schrieb:
> So besser?

Man kann natürlich viele rührende Stories erzählen. Ich empfange alle 
paar Wochen welche von Nigerianischen Beamten und Wohltätigen Prinzen 
per Email. Die reichen mir schon.

Lass mal, nein Danke.

von Ralf G. (dougie)


Lesenswert?

...und wen haben deine Kommentare jetzt weiter gebracht?

von Stefan F. (Gast)


Lesenswert?

Ralf G. schrieb:
> ...und wen haben deine Kommentare jetzt weiter gebracht?

Ich hoffe, dich, denn du hattest um eine Erklärung gebeten:

Ralf G. schrieb:
> Ist meine Frage zu trivial, zu abwegig oder einfach uninteressant?

Wenn dich die Antwort nicht interessiert, dann erlaube mir die 
Gegenfrage: Warum hast du dann gefragt?

Beitrag #6517412 wurde von einem Moderator gelöscht.
Beitrag #6517418 wurde von einem Moderator gelöscht.
Beitrag #6517519 wurde von einem Moderator gelöscht.
von Ralf G. (dougie)


Angehängte Dateien:

Lesenswert?

...ach, ich komm schon klar ;-)

von Peter D. (peda)


Lesenswert?

Ralf G. schrieb:
> ...ach, ich komm schon klar ;-)

Zumindest die gezeigten 2 Zeilen sehen nach gesperrtem Flash aus.

von Ralf G. (dougie)


Lesenswert?

Nope... Flash wird (komischerweise) erst ab 0x00004000 verwendet.

Konnte es auslesen, modifizieren und auch wieder schreiben.
Funktioniert! ;-)

PS: der hat tatsächlich selbst Teile seines EEproms überschrieben.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Ralf G. schrieb:
> PS: der hat tatsächlich selbst Teile seines EEproms überschrieben.

Ja, das ist auch von anderen MCs bekannt, wenn das Unterspannungsreset 
nicht aktiviert ist.
Z.B. die ersten AVRs hatten überhaupt kein Unterspannungsreset. Da war 
der EEPROM wie Lotterie spielen.

von Ralf G. (dougie)


Lesenswert?

Was für ne Katastrophe!

Wie/wo ich die FuseBits setzen kann, hab ich noch nicht gefunden, aber 
zumindest kann ich jetzt das EEprom restaurieren und die wichtigen Codes 
auslesen.

von Christian (Gast)


Lesenswert?

Tja unter dem Namen Fusebits wirst du bei den ehemaligen Freescales 
nichts finden. Haben die in solcher Form nämlich nicht.
Mal so ein kleiner Tipp, schau dir mal dieses Dokument 
(https://www.nxp.com/docs/en/application-note/AN3305.pdf) an und wirst 
sehen, dass deine Vermutung, dass die fallende Versorgungsspannung dir 
den Speicher verhaut erstmal nichts mit dem Controller allein zu tun hat 
"By default, the LVD is enabled after a power-on-reset".
Wenn, dann versucht die Software auf den letzten Drücker noch was im 
EEPROM zu schreiben, was immer eine schlechte Idee ist.
Aus Hardwaresicht, sofern das auf den letzten Drücker schreiben ein 
Use-Case ist/war, würde ich mal vorhandene Elkos auf die noch vorhandene 
Kapazität prüfen. Aus meiner langjährigen Erfahrung raus sind Fehler 
aufgrund von Alterung ein extrem großes Problem. Wer lernt im Studium 
schon, dass Elkos altern und Kapazität verlieren.

Und dass das Flash erst bei 4000hex beginnt ist normal, ab der Adresse 0 
liegen erstmal diverse Portregister. Aber das steht alles in den 
Datenblättern.

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.