Forum: Mikrocontroller und Digitale Elektronik ATTiny Reverse Engineering


von Narvesen (Gast)


Lesenswert?

Hi,

mal rein aus persönlichem Interesse: wie kompliziert ist es eigentlich, 
die vorhandene Firmware aus einem ATTiny Prozessor herauszubekommen? Ich 
rede nicht vom Disassemblieren, sondern rein vom Ziehen des Binaries.

Danke!

von 4toTakoe (Gast)


Lesenswert?

Wenn keine Lockbits gesetzt sind, ist das in Sekunden gemacht. Geht 
sogar mit AVR-Studio.

von Narvesen (Gast)


Lesenswert?

Lockbits? Reden wir hier von Hard- oder Software?

von 4toTakoe (Gast)


Lesenswert?

Sorry, musste selber nochmal nachlesen wofür die Fuses/Locks sind.

http://elk.informatik.fh-augsburg.de/da/da-21/Tutorial/sw/Fusebits.html

Es müsste also das Fusebit SPIEN aktiviert sein, damit der Tiny nicht 
mehr über ISP ausgelesen werden kann. Die Lockbits sind nur zum sichern 
gegen programmieren.

Dennoch ließe sich der Tiny immernoch parallel auslesen.

von Olaf (Gast)


Lesenswert?

Du kannst bei bespielen eines AVR eine Auslese/Schreibschutz einschalten 
, was natürlich bei den meisten Professionellen Systemen auch gemacht 
wird damit nicht jeder den Code auslesen kann.

Sind die Lockbits gesetzt soll es wohl wirklich kein sinnvoller Weg 
einen AVR auszulesen sprich der Schutz ist ziemlich gut.

mfg
Olaf

von Marc (gierig) Benutzerseite


Lesenswert?

Vom beiden, die Hardware kann über die Lockbits
dazu gebracht werden nicht über seinen Inhalt zu reden.

Dann bekommst du da nicht raus. Wenn nicht gesetzt dauert
das auslesen des HEX quasi so lange wie auch das beschrieben dauern 
würde.

von Spess53 (Gast)


Lesenswert?

Hi

>Wenn nicht gesetzt dauert
>das auslesen des HEX quasi so lange wie auch das beschrieben dauern
>würde.

Nein, meist länger. Beim Programmieren wird nur der Code geflasht. Beim 
Auslesen wird der gesamte Speicher gelesen.

MfG Spess

von Marc (gierig) Benutzerseite


Lesenswert?

4toTakoe schrieb:
> Dennoch ließe sich der Tiny immer noch parallel auslesen.

Nö, das ein ein zigste was dann noch geht ist löschen.
Jedenfalls wenn die Lock Bits richtig gesetzt worden:

z.B. Mode 3 beim tiny 2313 (Seite 158 im DB)

Further programming and verification of the Flash and
EEPROM is disabled in Parallel and Serial Programming
mode. The Boot Lock bits and Fuse bits are locked in both
Serial and Parallel Programming mode.

von Digi S. (digispark)


Lesenswert?

wobei ggf. auch die Fuse-Bits umgangen werden können: 
http://digistump.com/board/index.php/topic,1039.0.html

von Cyblord -. (cyblord)


Lesenswert?

Narvesen schrieb:
> Lockbits? Reden wir hier von Hard- oder Software?

Du wolltest doch die Firmware (=Software) auslesen. Die Lockbits 
verhindern das, wenn gesetzt. Wenn nicht, kannst du die einfach lesen.

Sonst hat der Tiny keine "Firmware", das Ding ist natürlich intern hart 
verdrahtet.

> Es müsste also das Fusebit SPIEN aktiviert sein, damit der Tiny nicht
> mehr über ISP ausgelesen werden kann. Die Lockbits sind nur zum sichern
> gegen programmieren.

Was ein Unsinn wird hier erzählt?

SPIEN ist kein Schutz. Über andere Programmierarten (HV oder DW) kann es 
wieder gesetzt werden und hat einen ganz anderen Zweck.
Die Lockbits verhindern ein auslesen des Flash- und Eeprom Speichers. 
Programmieren geht immer. Ein Erase löscht den Speicher und auch die 
Lockbits.

@ Narvesen:

Worum ging es dir denn eigentlich? Kannst du das mal ausführen? Deine 
Frage war ja schon recht merkwürdig. Geht es dir nun um das Auslesen 
eines (durch Lockbits) geschützten Controllers oder um was anderes?

gruß cyblord

von 4toTakoe (Gast)


Lesenswert?

cyblord ---- schrieb:
> Was ein Unsinn wird hier erzählt?

Stimmt...ich nehme alles zurück und behaupte doch wieder das wie ich 
bereits am Anfang schrieb ;)

von Marc (gierig) Benutzerseite


Lesenswert?

Spess53 schrieb:
>>Wenn nicht gesetzt dauert
>>das auslesen des HEX quasi so lange wie auch das beschrieben dauern
>>würde.

> Nein, meist länger. Beim Programmieren wird nur der Code geflasht. Beim
> Auslesen wird der gesamte Speicher gelesen.
>
> MfG Spess


War klar das mir da ein strikt raus gedreht wird.

Chip earse vorm schreiben, gehört bei mir zu guten Ton.
Befehle und Timing zum schrieben sind umfangreicher also das
schnöde auslesen. Also beim lesen weniger overhead.

Aber eigentlich auch egal ob das eine nun 500ms Sekunden schneller ist
als das andere.....

von Narvesen (Gast)


Lesenswert?

cyblord ---- schrieb:
> @ Narvesen:
>
> Worum ging es dir denn eigentlich? Kannst du das mal ausführen? Deine
> Frage war ja schon recht merkwürdig. Geht es dir nun um das Auslesen
> eines (durch Lockbits) geschützten Controllers oder um was anderes?

Wie gesagt, es geht mir darum, den Binärcode auf einem Board zu schützen 
bzw. die Frage, wie leicht ein "böser Cracker" da theoretisch rankommen 
kann.

Oder anders konstruiert: ich habe ein 08/15-ATTiny-Board, welches durch 
meine Firmware zu was ganz dollem wird. Kann man da überhaupt 
verhindern, dass jemand diese Firmware ausliest und damit seine eigenen, 
08/15-Boards "aufwertet"?

Das es mit genügend großem Aufwand immer einen Weg gibt, ist mir klar, 
es geht mir halt nur darum, die theoretischen Möglichkeiten zu kennen.

von Georg G. (df2au)


Lesenswert?

Narvesen schrieb:
> Oder anders konstruiert: ich habe ein 08/15-ATTiny-Board, welches durch
> meine Firmware zu was ganz dollem wird. Kann man da überhaupt
> verhindern, dass jemand diese Firmware ausliest und damit seine eigenen,
> 08/15-Boards "aufwertet"?

Die Lockbits bieten einen recht guten Schutz. Wenn deine Firmware 
wirklich so toll ist, dass sich eine 5-stellige Summe lohnt, dann gibt 
es in Fernost Firmen, die das Auslesen übernehmen. Und wenn deine 
Firmware so toll ist, dass sich eine genügende Zahl Nutzer findet, die 
daran extrem interessiert ist, finden die auch einen Weg (siehe Meteo 
Time).

von Konrad S. (maybee)


Lesenswert?

Digi Spark schrieb:
> wobei ggf. auch die Fuse-Bits umgangen werden können:
> http://digistump.com/board/index.php/topic,1039.0.html

Nein, die Fuse-Bits können zurückgesetzt werden. Bei den Lock-bits geht 
das nur in Verbindung mit Chip-Erase. Auslesen der Firmware ist bei 
aktivierten Lock-Bits nicht möglich.

von Digi S. (digispark)


Lesenswert?

von den Lock-Bits hatte ich auch nicht gesprochen ;-)

von Cyblord -. (cyblord)


Lesenswert?

Narvesen schrieb:
> cyblord ---- schrieb:
>> @ Narvesen:
>>
>> Worum ging es dir denn eigentlich? Kannst du das mal ausführen? Deine
>> Frage war ja schon recht merkwürdig. Geht es dir nun um das Auslesen
>> eines (durch Lockbits) geschützten Controllers oder um was anderes?
>
> Wie gesagt, es geht mir darum, den Binärcode auf einem Board zu schützen
> bzw. die Frage, wie leicht ein "böser Cracker" da theoretisch rankommen
> kann.
>
> Oder anders konstruiert: ich habe ein 08/15-ATTiny-Board, welches durch
> meine Firmware zu was ganz dollem wird. Kann man da überhaupt
> verhindern, dass jemand diese Firmware ausliest und damit seine eigenen,
> 08/15-Boards "aufwertet"?
>
> Das es mit genügend großem Aufwand immer einen Weg gibt, ist mir klar,
> es geht mir halt nur darum, die theoretischen Möglichkeiten zu kennen.

Oh maan, genau dafür sind die Fuse-Bits doch da. Warum nur diese 
gestammelte unverständliche Problembeschreibung? Ein einfaches "Wie 
schütze ich meinen Code im Attiny gegen auslesen?" hätte auch gereicht.

Also Lock-Bits setzen und gut ist. Mehr Schutzt bekommst du für lau 
erstmal nicht und ich bezweifle dass deine Software den Aufwand für das 
gewaltsame Rücksetzen der Lock-Bits durch einen externen Anbieter lohnt.

Wie du schon sagst, es gibt immer Mittel und Wege.

gruß cyblord

von Narvesen (Gast)


Lesenswert?

cyblord ---- schrieb:
> Oh maan, genau dafür sind die Fuse-Bits doch da. Warum nur diese
> gestammelte unverständliche Problembeschreibung? Ein einfaches "Wie
> schütze ich meinen Code im Attiny gegen auslesen?" hätte auch gereicht.

Vielleicht liest du mal meinen Ursprünglichen Post durch? Da steht genau 
das drin - und es ist wirklich nicht meine Schuld, wenn meine Frage im 
Thread so zerbröselt wird, dass du sie nicht mehr verstehst!

von Konrad S. (maybee)


Lesenswert?

Narvesen schrieb im Beitrag #3321614:
> Vielleicht liest du mal meinen Ursprünglichen Post durch? Da steht genau
> das drin

Dort geht es darum, wie man den Code herausbekommt.

Narvesen schrieb im Beitrag #3321500:
> Wie gesagt, es geht mir darum, den Binärcode auf einem Board zu schützen

Da geht darum, wie man das verhindert.
Ein nicht unwesentlicher Unterschied, finde ich.

von Qwerty (Gast)


Lesenswert?

Die Atmel AVR gehören wahrscheinlich eher zu den MCUs, die sich 
einfacher
cracken lassen. Wer besonderen Wert auf den Schutz seiner Firmware legt,
sollte vielleicht eher auf eine andere MCU, z.B. MSP430 ausweichen. Die
sind, denke ich, etwas schwieriger zu hacken.

Solche Seiten wie "mcureverse" bieten das Klonen der Firmware vermutlich 
für 3-4 stellige Summen an.

von Peter D. (peda)


Lesenswert?

Qwerty schrieb:
> Wer besonderen Wert auf den Schutz seiner Firmware legt,
> sollte vielleicht eher auf eine andere MCU, z.B. MSP430 ausweichen. Die
> sind, denke ich, etwas schwieriger zu hacken.

Hast Du dafür irgendeinen Beleg oder ist das nur Dein Bauchgefühl?


Spezielle hochsichere MCs sind z.B. die DS5000 von Maxim.

von Qwerty (Gast)


Lesenswert?

Nun, es gibt einige prinzipielle Unterschiede. Beim MSP430 wird die JTAG 
fuse ausgelöst, d. h. sie wird irreversibel physikalisch zerstört. Ein
Auslesen mit normalen Mitteln ist danach überhaupt nicht mehr möglich.
Was natürlich nicht bedeutet, dass man irgendwo, irgendwie mit einer
Sonde auch an die Daten kommt.

Das es bei den MSP430s besonders schwierig ist, sagen die von
"dsp-crack" selber:
"Texas Instruments’ MSP430F MCU and TMS320 DSP are seen to be the
difficult ICs to crack. The MSP430F MCU used to be considered impossible
to be cracked, and the TMS320 series DSP is more complex so request a
very high level of Technicality."

Die letzten Abhandlungen, die ich mal über das Auslesen der MSP430
gelesen oder gesehen habe, erörtern eine Möglichkeit davon:
http://www.youtube.com/watch?v=a1tVv3HCEro

Und wenn man sich solche Seiten wie "mcureverse" oder "ic-cracker"
ansieht, dann stellt man fest, das die dort häufig fast alle Atmel
AVRs gecracked haben, aber so gut wie keine MSP430-cracks anbieten.

Auf "mcureverse" lese ich z.B. folgendes für den Atmega168PA:
"For some reason , the chip lock bit  mode does not lock access to
the memory in programming. the probe will be placed on top of data line
will be able to read all of the desired data . In the programming mode,
restart the reading process and connect the probe to another data line
can be read out program and data memory all the information. For
ATMEGA168PA firmware reverse and clone,we promise 100% success rate,
low price&high enficiency. Please contact me for detail information:"

Peter Dannegger schrieb:
> Hast Du dafür irgendeinen Beleg oder ist das nur Dein Bauchgefühl?
>
> Spezielle hochsichere MCs sind z.B. die DS5000 von Maxim.

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.