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?
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
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!
>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?
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!
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.
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 :)
>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.
Der Pic benutz den WDT als internen Takt zum Programmieren/Löschen, geht mit ca 32khz.
@holger >Der Pic benutz den WDT als internen Takt zum Programmieren/Löschen, >geht mit ca 32khz. Dünnschiss! gruss der andere holger.
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?
>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 ;)
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?!?!
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.
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.
Zum reservierten Flash: gibt es ne möglichkeit, da ran zukommen (evtl. auch bei nem 16er PIC) ? Hat jemand da schon Erfahrungen gemacht ? W.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.