Forum: Mikrocontroller und Digitale Elektronik mit welchen Lock Bits ist ein ATmega noch lesbar?


von M. E. (engelhard)


Angehängte Dateien:

Lesenswert?

Ich habe auf einer Heizungssteuerung einen defekten ATmega16-16. Von 
außen sieht es so aus, als ob nur ein Portpin betroffen wäre, dieser hat 
etwa 200 Ohm gegen 5V und Masse, habe ihn abgelötet, dann ist das Board 
hochohmig, der Chip niederohmig. Das Board hat einen JTAG Anschluss, ich 
bin mit einem JTAGICE MKII und Microchip Studio dran und kann darauf 
zugreifen. Die Lockbits sehen aus wie im Anhang. Heißt "further 
verification disabled", dass man ihn nicht lesen kann?

Ich hätte ihn gerne wenn möglich geclont und einen neuen eingebaut. Teil 
hätte ich da, aber wenn das von vornherein zum Scheitern verurteilt ist, 
würde ich es nicht versuchen, da ich befürchte, dass er beim Auslöten 
kaputt geht und ich dann die anderen noch funktionierenden Funktionen 
auch noch verliere.

Wenn ich per JTAG den Flash lese, macht er das ohne zu meckern und legt 
ein File ab. Woher weiß ich, dass dieses File nutzbar sein wird?

Sehe ich das richtig, dass ich EEPROM, Flash, Fuse Bits und Lock Bits 
kopieren würde und dann sollte ich einen identischen Baustein haben?

von Nemopuk (nemopuk)


Lesenswert?

M. E. schrieb:
> Wenn ich per JTAG den Flash lese, macht er das ohne zu meckern und legt
> ein File ab. Woher weiß ich, dass dieses File nutzbar sein wird?

Ich weiß jetzt nicht, wie es genau bei diesem µC ist, aber ...

Wenn der Leseschutz aktiviert ist, merkt das der Programmieradapter in 
der Regel nicht. Er liest dann einfach Müll (oft lauter FF oder 00 oder 
fortlaufende Zahlen wie 01 02 03 04, usw)

von Walter T. (nicolas)


Lesenswert?

M. E. schrieb:
> Woher weiß ich, dass dieses File nutzbar sein wird?

Guck es Dir mit einem Hex-Editor an.
Wenn das File nur aus 0xFF oder 0x00 besteht, ist es nicht brauchbar.

Ansonsten flashe es auf einen anderen ATmega16 und guck was passiert.

: Bearbeitet durch User
von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

M. E. schrieb:
> Heißt "further
> verification disabled", dass man ihn nicht lesen kann?
Ja! (eigentlich)

Wobei mir nicht klar ist ob der Haken da ein lo oder hi Bit bedeutet.
Kenne das Tool nicht.

M. E. schrieb:
> Wenn ich per JTAG den Flash lese, macht er das ohne zu meckern und legt
> ein File ab.
Das ist normal.

M. E. schrieb:
> Woher weiß ich, dass dieses File nutzbar sein wird?

Hmm..
Meine 328P sind da wie ein Zufallsgenerator.
Liefern jedes mal andere Daten.
Also drei mal lesen und vergleichen.

Ansonsten, mit einem Disassembler auf Plausibilität prüfen.
Oder einfach auf den neuen Chip brennen.
Mit einem HVPP kannste ihn jederzeit wieder retten.

von S. L. (sldt)


Lesenswert?

Ausführlicher steht es im Datenblatt, Lock Bit Byte 0xFC: "Further 
programming and verification of the Flash and EEPROM is disabled in 
Parallel and SPI/JTAG Serial Programming mode. The Fuse bits are locked 
in both Serial and Parallel Programming mode."

Ich vermute, dass in der ausgelesenen Hex-Datei nur aufsteigende, also 
sinnlose Hex-Werte stehen.

von H. H. (hhinz)


Lesenswert?

Nemopuk schrieb:
> fortlaufende Zahlen

Genau das.

Und der Controller ist gesperrt.

von M. E. (engelhard)


Lesenswert?

Leider wahr, Blöcke mit 00, 40, 80 und C0 als Daten. Es wäre zu schön 
gewesen :'-(

Irgendwo ist hier ein 10 Jahre alter Thread, in dem hieß es, dass es 
schon Firmen gibt, die trotzdem in der Lage sind solche Chips zu clonen. 
Gibt es da mittlerweile mehr Infos dazu, wie das gemacht wird? 
Vielleicht ein Workaround, um trotz Lock Bits doch lesen zu können? Das 
ist ja eine recht alte Version aus 2010 oder 2009.

von H. H. (hhinz)


Lesenswert?

M. E. schrieb:
> Irgendwo ist hier ein 10 Jahre alter Thread, in dem hieß es, dass es
> schon Firmen gibt, die trotzdem in der Lage sind solche Chips zu clonen.

Die lassen sich den Aufwand gut bezahlen.

von M. E. (engelhard)


Lesenswert?

H. H. schrieb:
> Die lassen sich den Aufwand gut bezahlen.

Ja, das habe ich im alten Beitrag auch gelesen. Aber über 10 Jahre 
später hätte es ja sein können, dass die Methode allgemein bekannt ist.

von Veit D. (devil-elec)


Angehängte Dateien:

Lesenswert?

Hallo,

für den TO zur Erklärung. Man kann es sich herleiten, auch wenn die 
negierte Bitlogik etwas verwirrt. 0 aktiv, 1 nicht aktiv.

Man sieht in deinem Screenshot den Registerinhalt von 0xFC.
Das ist 0b1111.1100.
Heißt Bit 0 und 1 stehen auf 0. Bedeutet Bit "LB1" und "LB2" sind aktiv, 
also alles gesperrt. Kannste nur mit Chip Erase entsperren, womit alles 
weg wäre, hilft dir nicht.

Übrigens finde ich das Device Programming Fenster sehr praktisch. Nach 
jedem neuen auslesen wird der aktuelle Stand aller Bits rechts anzeigt. 
Das heißt, hat man vorher im Auswahlmenü rumgefummelt, springt die 
Anzeige nach Read wieder zurück auf das was wirklich im µC eingestellt 
ist.

Damit kann man nochmal prüfen ob die eigene Überlegung stimmt, bevor 
irgendwas verstellt wird. In dem Fall hier stimmt "Further programming 
and verfication disabled" mit 0xFC laut Manual überein.

: Bearbeitet durch User
von H. H. (hhinz)


Lesenswert?

M. E. schrieb:
> H. H. schrieb:
>> Die lassen sich den Aufwand gut bezahlen.
>
> Ja, das habe ich im alten Beitrag auch gelesen. Aber über 10 Jahre
> später hätte es ja sein können, dass die Methode allgemein bekannt ist.

Ist sie, aber sie ist sehr aufwändig.

von M. E. (engelhard)


Lesenswert?

Die Steuerung und Konfiguration des Werkskundendienstes ist auch teuer. 
Bei wem könnte ich das Auslesen des ATmega 16 anfragen?

Blöd wäre nur, wenn dann noch was anderes auf der Platine kaputt ist, 
hätte es auch nichts gebracht.

von H. H. (hhinz)


Lesenswert?

M. E. schrieb:
> Die Steuerung und Konfiguration des Werkskundendienstes ist auch teuer.
> Bei wem könnte ich das Auslesen des ATmega 16 anfragen?

Wenn dir schon der Werkskundendienst zu teuer ist, dann solltest du über 
auslesen lassen gar keinen Gedanken verschwenden.

von Nemopuk (nemopuk)


Lesenswert?

M. E. schrieb:
> Bei wem könnte ich das Auslesen des ATmega 16 anfragen?

Ich pflege keine Beziehungen zu Hackern, kann dir daher auch keine 
empfehlen. Wenn ich könnte, würde ich das ganz gewiss nicht hier tun. 
Für dein Vorhaben wirst du wohl den Eingang zum Untergrund suchen 
müssen. Kommt man da überhaupt ohne Empfehlung rein?

: Bearbeitet durch User
von H. H. (hhinz)


Lesenswert?

Nemopuk schrieb:
> Kommt man da überhaupt ohne Empfehlung rein?

Man braucht eine Empfehlung von Benjamin Franklin, für den Anfang so 
100-fach.

von M. E. (engelhard)


Lesenswert?

Die Frage ist doch: wo fängt hacken an und wo hört es auf? Mit JTAG auf 
einer Platine nen Mikrocontroller zu kontaktieren, könnte man vmtl. auch 
schon als Hacken bezeichnen.

von Nemopuk (nemopuk)


Lesenswert?

M. E. schrieb:
> Die Frage ist doch: wo fängt hacken an und wo hört es auf?

Eine Firmware auszulesen, die der Copyright Inhaber mit einem Leseschutz 
versehen hat, ist mit Sicherheit Hacken. Egal womit.

von Alexander K. (alexanderk)


Lesenswert?

Sind 1000 Euro ok?

von Nemopuk (nemopuk)


Lesenswert?

Alexander K. schrieb:
> Sind 1000 Euro ok?

Für den Türsteher vielleicht, damit er dich rein lässt.

von M. E. (engelhard)


Lesenswert?

Alexander K. schrieb:
> Sind 1000 Euro ok?

Wenn man nen Deal machen könnte, dass ich es nur zahle, wenn damit die 
Steuerung danach wieder geht, dann wäre das ok. Aber das wäre natürlich 
eine Verteilung des Risikos auf den Dienstleister. Das müsste der sich 
dann überlegen, ob er das möchte. Ich habe halt keine Garantie, dass 
nicht weitere Defekte in der Steuerung sind, die ich nicht finden und 
nicht beheben kann. Deshalb kann ich auch keine 1000 Euro noch weiter 
ins Risiko gehen, wenn ich vielleicht für 1500-2000 Euro vom 
Heizungsbauer eine neue Lösung bekäme.

von H. H. (hhinz)


Lesenswert?

M. E. schrieb:
> Alexander K. schrieb:
>> Sind 1000 Euro ok?
>
> Wenn man nen Deal machen könnte, dass ich es nur zahle, wenn damit die
> Steuerung danach wieder geht, dann wäre das ok. Aber das wäre natürlich
> eine Verteilung des Risikos auf den Dienstleister. Das müsste der sich
> dann überlegen, ob er das möchte. Ich habe halt keine Garantie, dass
> nicht weitere Defekte in der Steuerung sind, die ich nicht finden und
> nicht beheben kann. Deshalb kann ich auch keine 1000 Euro noch weiter
> ins Risiko gehen, wenn ich vielleicht für 1500-2000 Euro vom
> Heizungsbauer eine neue Lösung bekäme.

Lass dir eine neue Heizung einbauen, kommt dich deutlich billiger als 
das auslesen des µC.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Hezungssteuerung ist auch immer so eine Sache ... Wenn man daran 
herumschraubt und irgendwas geht schief, dann wird die Bude am Ende 
kalt, schwarz und durch die Feuerwehr auch noch nass. Dann fragt man 
sich woran hat's denn jelegen und da möchte ich nicht als derjenige 
dastehen, der an der Heizungssteuerung herumgefummelt hat.

von Dieter S. (ds1)


Lesenswert?

Um welche Heizungssteuerung genau geht es denn? ATmega16 klingt ja nach 
einem schon etwas älteren Gerät.

Und wenn nur ein Portpin am ATmega16 defekt ist: was macht der genau in 
der Steuerung?

von Jack V. (jackv)


Lesenswert?

Nemopuk schrieb:
> Eine Firmware auszulesen, die der Copyright Inhaber mit einem Leseschutz
> versehen hat, ist mit Sicherheit Hacken.

Üblicherweise bezeichnen eher uninformierte Menschen und Medien das als 
„hacken“, die meisten Anderen würden es z.B. „cracken“ nennen.

WP: „In seiner ursprünglichen Verwendung bezieht sich der Begriff auf 
Tüftler im Kontext einer verspielten, selbstbezogenen Hingabe im Umgang 
mit Technik und einem besonderen Sinn für Kreativität und Originalität 
(englisch hack value).“

von M. E. (engelhard)


Lesenswert?

Dieter S. schrieb:
> Um welche Heizungssteuerung genau geht es denn? ATmega16 klingt ja nach
> einem schon etwas älteren Gerät.
>
> Und wenn nur ein Portpin am ATmega16 defekt ist: was macht der genau in
> der Steuerung?

Ein Stückholzkessel von Fröling mit Lambdaregelung, Baujahr 2010. Der 
Atmel macht soweit ich das sehe nur untergeordnete Aufgaben, wie mit dem 
Steuermodul zu kommunizieren und Aktoren ansteuern und Werte rückmelden. 
Als Fehler wird am Display gemeldet, dass eine Luftsteuerung blockiert 
wäre und deshalb geht sie auf Störung und arbeitet sie nicht mehr. Aber 
ich wüsste jetzt keinen Ansatz, wie ich daran etwas ändern sollte. Die 
Software braucht dieses Signal ja. Was dieser eine Pin genau macht, weiß 
ich nicht. Entweder er liest direkt den Status dieses Aktors, oder er 
macht auch irgendwas anderes und dieser Fehler ist eine Folge davon oder 
es ist der erste und weitere würden folgen. Könnte ja sein, dass dann 
der ganze Port im Controller kaputt ist.

Auf der großen Platine sitzen einige Treiber für Aktoren, Relais, 
Stromversorgungen, Messeingänge für Sensorik, 
Kommunikationsschnittstellen mit anderen Modulen und ein Slot der 
aussieht wie ein alter Sim Speicher Slot, in dem dann ein Modul mit 
anderem Controller und Flash sitzt, die vmtl. die eigentlichen 
Steueraufgaben erledigen.

von M. E. (engelhard)


Lesenswert?

H. H. schrieb:
> Lass dir eine neue Heizung einbauen, kommt dich deutlich billiger als
> das auslesen des µC.

Das würde wohl knapp 15.000 Euro kosten. Das fände ich jetzt nicht 
angemessen. Dann doch eher die teure Platine vom Heizungsbauer einbauen 
und neu konfigurieren lassen.

Nemopuk schrieb:
> Eine Firmware auszulesen, die der Copyright Inhaber mit einem Leseschutz
> versehen hat, ist mit Sicherheit Hacken. Egal womit.

Ich verbinde mit dem Begriff Hacken nicht per se was Schlechtes. Im 
Prinzip ist doch jede Art von Reverse Engineering eine Art von Hacken. 
Und ich habe ja nicht vor Daten zu stehlen und zu vervielfältigen, um 
mich mit der IP anderer zu bereichern. Ich hätte nach dieser Aktion 
genau so viele funktionierende Versionen dieser Software wie die zuvor 
bezahlte, nämlich eine.

von Rainer W. (rawi)


Lesenswert?

Nemopuk schrieb:
> Eine Firmware auszulesen, die der Copyright Inhaber mit einem Leseschutz
> versehen hat, ist mit Sicherheit Hacken. Egal womit.

Ja und?
Entscheidend ist die gesetzliche Regelung. Da greift wohl der §3 des 
GeschGehG. Die Frage wäre damit, ob Reverse-Engineering vertraglich 
ausgeschlossen wurde.

von Dieter S. (ds1)


Lesenswert?

M. E. schrieb:
>
> Ein Stückholzkessel von Fröling mit Lambdaregelung, Baujahr 2010. Der
> Atmel macht soweit ich das sehe nur untergeordnete Aufgaben, wie mit dem
> Steuermodul zu kommunizieren und Aktoren ansteuern und Werte rückmelden.

Das ist ein ähnlicher Ansatz wie bei einigen Heizungssteuerungen von 
Hargassner für Pelletheizungen.

Dort sind es mehrere AT89C2051 (immerhin sogar gesockelt, aber mit 
aktiviertem Ausleseschutz), die die I/O Aufgaben erledigen und mit dem 
eigentlichen Steuermodul kommunizieren. Man kann dort die Ein-/Ausgänge 
relativ flexibel zuordnen. Die Idee wäre gewesen dass vielleicht der 
defekte Portpin hier auch zu den konfigurierbaren Kanälen gehört und 
eine Umkonfiguration eventuell ausreicht um das Problem zu lösen.

Der andere Ansatz wäre zu schauen ob man vielleicht passende Teile bzw. 
eine gebrauchte Fröling Heizungssteuerung günstig bekommt aus der man 
den Atmega16 verwenden kann.

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

M. E. schrieb:
> Ich hätte nach dieser Aktion genau so viele funktionierende Versionen
> dieser Software wie die zuvor bezahlte, nämlich eine.

Ändert nichts am Verbot. Von kopiergeschützten DVDs darfst du auch keine 
Sicherungskopien anlegen. Nur von ungeschützten.

von Harald K. (kirnbichler)


Lesenswert?

Nemopuk schrieb:
> Ändert nichts am Verbot.

Das hier offensichtlich verfehlt ist. In den USA ist es verpönt, "the 
law" in Frage zu stellen, aber in zivilisierten Ländern sollte man das.
Vor allem, da es hier darum geht, ein Gerät zu reparieren, das wegen 
eines relativ banalen Defekts durch ein komplett neues ersetzt werden 
müsste, wenn man "the law" folgt. Ressourcenverschwendung, 
Elektroschrott etc.

von Veit D. (devil-elec)


Lesenswert?

Nemopuk schrieb:

> Ändert nichts am Verbot. Von kopiergeschützten DVDs darfst du auch keine
> Sicherungskopien anlegen. Nur von ungeschützten.

Die Aussage ist per se richtig. Das Gesetz jedoch rein praktisch 
betrachtet komplett sinnfrei. Wenn jemand irgendwas für sich zu Hause 
kopiert, dann interessiert das niemanden. Wenn man es niemanden erzählt, 
weiß das auch niemand. Das heißt man kann zu Hause für sich machen was 
man will. Zum Problem wird es erst, wenn man es Hinz und Kunz erzählt 
und vielleicht noch unter der Hand Geschäfte macht.

Die Grauzone beginnt, wenn jemand im Forum o.ä. nach Lösungen zur 
Umgehung fragt und Antworten erwartet. Könnte man eiskalt sagen, wenn 
man Google nicht bedienen kann, hat man Pech gehabt. Oder jemand gibt 
ihm per PN paar Hinweise.

------------------------------------------------------------------------

Rein praktisch gesehen, aus meiner Sicht, lohnt der ganze Aufwand nicht, 
wenn es mit normalen Mitteln nicht auslesbar ist. Neue Platine kaufen 
ist im Ganzen betrachtet sicher günstiger.

Wenn der Verdacht besteht, dass der Pin irgendwann wieder sterben 
könnte, kann man nachdenken die Signalleitung abzusichern. Wenn rein 
digital könnte ggf. ein kleiner Längswiderstand ausreichend sein. 
Vielleicht wurde das Problem auf der neuen Platine behoben. Man weiß es 
nicht.

von Nemopuk (nemopuk)


Lesenswert?

Veit D. schrieb:
> Die Aussage ist per se richtig. Das Gesetz jedoch rein praktisch
> betrachtet komplett sinnfrei.

Mag sein, aber für politische Kritik ist hier der falsche Ort.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich betrachte das rein praktisch. Zu Hause kann ich für mich machen was 
ich will. Genau das kann auch der TO für sich machen. Das heißt man muss 
niemanden irgendein Verbot unter die Nase halten, weil das sowieso 
niemanden interessiert, wenn alles innerhalb der 4 Wänden bleibt. Das 
war der Kern meiner Aussage. Der 2. praktische Gedanke hier in dem Fall 
ist, dass der Aufwand zu hoch ist und man daher den Gedanken einer Kopie 
vergessen kann.

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.