Forum: Mikrocontroller und Digitale Elektronik PIC code protection gesetzt! Muss man den PIC erst löschen, oder kann man direkt überschreiben?


von Cagara (Gast)


Lesenswert?

Ich würde gerne erfahren welche optionen man bei einem mit 
code-protection versehenen PIC hat ...

Muss man den PIC erst löschen? Oder kann man ihn gleich überschreiben!

Wenn man nämlich direkt überschreiben kann, dann wäre das doch eine 
Sicherheitslücke ... Da die ersten 16 Wörter sowieso sichtbar sind 
könnte man doch diese ersteinmal auslesen, und diese dann einfach 
überschreiben mit einem eigenen "Loader" ...

Nach dem 16ten Wort kappt man beim Schreiben die Verbindung damit nichts 
weiter passiert. Nun könnte man aus dem "Miniloader" doch den Rest des 
Flashs lesen!

Was sagt ihr dazu?

von Peter D. (peda)


Lesenswert?

Ich kenne nicht speziell den PIC, aber die Atmel-AVR und -8051 müssen 
erst gelöscht werden.

Ich habs mal probiert, beim AVR wärend des Löschens VCC abzuschalten. 
Damit kann man dann einen Zustand erreichen, wo der Flash gelöscht ist, 
aber die Lockbits noch nicht.
Die Lockbits werden also definitiv erst nach dem Flash gelöscht.


Peter

von Cagara (Gast)


Lesenswert?

Andere Idee ...

Was wenn man statt einem Quarz, dem PIC einen taster als quarz anlegt 
...
Wärend eigentlich das Flash gelöscht werden soll kühlt man den PIC auf 
-200°C ab mit flüssigem Stickstoff, dann lässt man ihn aufwärmen und 
setzt wieder per Schalter den Takt sodass nur das Lockbit gelöscht wird 
:)

Das ist jetzt natürlich die frage ... also ich weiss dass man den 
Arbeitsspeicher z.b. auch ohne Spannung mit Flüssigem Stickstoff mehrere 
Stunden am leben erhalten kann!

von holger (Gast)


Lesenswert?

>Das ist jetzt natürlich die frage ... also ich weiss dass man den
>Arbeitsspeicher z.b. auch ohne Spannung mit Flüssigem Stickstoff mehrere
>Stunden am leben erhalten kann!

Woher weisst du das?

von Cagara (Gast)


Lesenswert?

Ausprobiert ...

Schon bei minus 15-20 Grad kannst du den RAM eigentlich einige Minuten 
"einfrieren"...

Versuch doch mal einen Controller im Angemachten Zustand in die 
Gefriertruhe zu packen, und schalt ihn dann irgendwann mal für 30 
Sekunden komplett aus ... eigentlich sollte der Inhalt des 
Arbeitsspeichers noch da sein!

Und mit flüssigem Stickstoff oder Trockeneis sollte es dann eigentlich 
noch etwas länger gehen!

von Bereits F. (Firma: D.ade) (bereitsfort)


Lesenswert?

das mit dem externen takten und der Unterkühlung ließe sich noch anders 
bewerkstelligen.

Indem man die Stromzufuhr so begrenzt, das die Energie zum Löschen nicht 
ausreicht.

von Cagara (Gast)


Lesenswert?

Interessante idee ...

Sagen wir ich programmiere den pic dann mit einem mega32 ... der kann ja 
problemlos den takt für den pic liefern und auch die spannungen regeln 
...

Wann müsste man die Spannung absenken auf ... ja auf was eigentlich ...
Und kann es eigentlich sein dass die Spannung fürs Löschen nicht reicht, 
aber fürs weiterlaufen in der Löschroutine?

Und wann weiss man wann man die Spannung wieder erhöhen kann ... ?



Würde die Methode evaluieren wenn du mir mehr "Input" gibts :)

von Cagara (Gast)


Lesenswert?

Löscht der PIC eigentlich auch "nach Takt" ? Ist bekannt wieviel er pro 
takt löscht?

von holger (Gast)


Lesenswert?

>Löscht der PIC eigentlich auch "nach Takt" ? Ist bekannt wieviel er pro
>takt löscht?

Der PIC braucht keinen Takt beim programmieren
und er braucht auch keinen beim löschen.
Chip Erase läuft auch nicht bei "beliebigen" Spannungen.

von holger (Gast)


Lesenswert?

Der Pic benutz den WDT als internen Takt zum Programmieren/Löschen,
geht mit ca 32khz.

von holger (Gast)


Lesenswert?

@holger

>Der Pic benutz den WDT als internen Takt zum Programmieren/Löschen,
>geht mit ca 32khz.

Dünnschiss!
gruss
der andere holger.

von Cagara (Gast)


Lesenswert?

Okay dann mal anders gefragt ...
wie genau läuft der chip erase ab ...

Sagen wir ich lege eine Sinuswelle als Spannung an, die ihre Amplutide 
beim "Springe zum Nächsten Register" hat und eine minimale Spannung beim 
"Delete Register" hat ...

Wäre soetwas nicht möglich?

von holger (Gast)


Lesenswert?

>Sagen wir ich lege eine Sinuswelle als Spannung an,

Geh mal zum Arzt. Microchip könnte dir sagen wie
man die Chips knackt. Und selbst wenn ich es wüsste,
würde ich es dir nicht verraten ;)

von Cagara (Gast)


Lesenswert?

Ich selber will garnichts knacken, ich möchte nur wissen ob nicht jemand 
meinen Chip dann knacken kann?

Und wieso, das mit dem Sinus ist doch nicht so abwägig?!?!

von holger (Gast)


Lesenswert?

http://www.chip-explorer.de/

Die Bulk-Erase startet ein Programm im geschützten Flash-Bereich, das 
diesen bewerkstelligt. Als interner Clock wird der WDT benutzt.
Stand mal in einer alten Family-documentation von Microchip.

von chris (Gast)


Lesenswert?

pic, WDT hat einen einen einstellbaren Timeout zwischen 18ms und 2.3 
Sekunden. Datenblatt besser lesen, die ca 2 Sekunden passen schon.

Die 4Mhz wirst du sehen, weil du den internen OSC eingeschaltet hast.
Schalte den mal aus, dann sieht die Sache auch anders, und ohne 
Störungen aus. Das Programmierinterface ist auch auf uC vorhanden, die 
keinen internen OSC besitzen, WDT haben sie alle mit ca 32khz.
Der WDT hat ca 32khz. Diese werden durch 2 geteilt, wegen des richtigen 
Taktverhältnisses (duty_cycle) und einem 8bit teiler zugeführt, gleich
wie der TMR0. Jeder overflow dieses Timers generiert einen Reset.
Meins Wissens dient diser Takt auch dem ICSP, um die charge-pumps zu
bedienen, sowie als Takt für den uC von einem reservierten Flash, der
die ICSP Befehle entgegennimmt und ausführt.

von Walter F. (mrhanky)


Lesenswert?

Zum reservierten Flash:

gibt es ne möglichkeit, da ran zukommen (evtl. auch bei nem 16er PIC) ?
Hat jemand da schon Erfahrungen gemacht ?

W.

von Christian R. (supachris)


Lesenswert?

War das nicht so, dass man bei den PICs anhand des Stromverbrauchs auf 
den aktuellen Befehl schließen konnte? Knacken kann man alles, eine 
absolute Sicherheit gibts nicht. Die Chinesen machen das mittlerweile 
mit CT und Elektronenstrahlmikroskop.

von Sergey (Gast)


Lesenswert?

http://de.wikipedia.org/wiki/PICmicro#Sicherheit_und_Kopierschutz

Power-Stress wie bei 16C84/16F84 geht bei neueren nichtmehr.
Ausserdem sind die Fuses mit AND-Logik oder anderen Sachen versehen.

Power-Glitch kann funktionieren, so arbeitet vermutlich auch der 
FlashPIC Reader von
Semiresearch.

Manche neuere PICs oder PIC-Revisionen haben auch Metalgitter, aber ohne 
aktive Sensoren,
das Gitter soll nur die Sicht bzw. das Microprobing am Bus 
verhindern/erschweren.

Der Grund, warum  manche alte 16C73A/JW nach Code-Protect nichtmehr
unter UV loeschbar waren, ist dass die A-Revisionen die Fuse mit Metall 
abgeschirmt
haben, damit man sie eben nicht durch UV resetten kann.

Es geht auch billiger als chip-explorer.de (soweit ich weiss nur ein 
Reseller).

Sicherer sind insbesondere 18Fxxxx PICs.

von Timmo H. (masterfx)


Lesenswert?

Hier wird gezeigt wie man durch das einfrieren vom Speicher an 
verschlüsselte Daten rankommt: 
http://www.youtube.com/watch?v=JDaicPIgn9U

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.