-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Lockbits per Programm setzen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    11.10.2006
    Beiträge
    10

    Lockbits per Programm setzen

    Anzeige

    Hallo,
    ich habe da mal eine Frage: kann man ein Programm (Sprache beliebig ASM/C/Bascom) schreiben, welches lockbits auf Atmels setzen kann ?

    Wie würde so etwas ASM-Hardcoded aussehen ?

    Ich würde den Atmel gerne locken, nach x fehlerhaften zugriffen. Um brute force attaken zu verhindern. Ist ne spielerei, aber es interessiert mich brennend.

    Danke für alle Tipps von euch Profis
    Ciao
    Quagmire

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.01.2006
    Ort
    Mönchengladbach
    Beiträge
    544
    Hi Quagmire,
    ich hab zwar noch nicht oft mit den Lockbits rumgespielt, aber mir scheint du hast die Funktion davon noch nicht ganz verstanden (oder ich hab nicht verstanden, was du überhaupt machen möchtest): Die Lockbits dienen dazu den Schreib- und/oder Lesezugriff auf den FLASH-Speicher zu sperren.
    Da kannste nix mit brute force herausfinden.... wenn die Lockbits einmal programmiert wurden kannst du den Flash nurnoch löschen (und dafür gibts, wenn ich mich richtig erinnere, auch ein Lockbit für).

    Gruß,
    SIGINT

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Zitat Zitat von SIGINT
    Ich hab zwar noch nicht oft mit den Lockbits rumgespielt, aber mir scheint du hast die Funktion davon noch nicht ganz verstanden (oder ich hab nicht verstanden, was du überhaupt machen möchtest): Die Lockbits dienen dazu den Schreib- und/oder Lesezugriff auf den FLASH-Speicher zu sperren.
    Das stimmt!!

    Zitat Zitat von SIGINT
    Da kannste nix mit brute force herausfinden.... wenn die Lockbits einmal programmiert wurden kannst du den Flash nurnoch löschen (und dafür gibts, wenn ich mich richtig erinnere, auch ein Lockbit für).
    Lass die Lockbits am Besten ganz in Ruhe.
    Wenn dein Gerät mal ganz vertig ist und du dir 100%tig sicher bist, dass du das Programm nie wieder ändern willst,dann kannst du die Lockbits setzten.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    11.10.2006
    Beiträge
    10
    Hallo,
    zunächst mal danke für die Antworten, aber ich habe mich nicht gut ausgedrückt. Das Programm ist bereits fertig.
    Das Programm auf der Karte wird angesprochen (per I/O-Port), nach sagen wir mal 3 Fehlzugriffen, möchte ich einen Programmteil aufrufen der ungefähr so aussieht: (Menschensprache, Deutsch)

    3_fehlzugriffe_lockbit_setzen:
    setze lockbit;
    beende programm

    Gegebenenfalls möchte ich die Fehlzugriffe noch im EEPROM speichern, damit das Programm auf der Karte gar nicht erst startet (nach 3 Fehlzugriffen)

    Ich hoffe das Problem ist deutlicher geworden
    Danke für euer Interesse
    Ciao
    Quagmire

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    ich glaub Du weisst aber trotzdem noch nicht genau was die Lockbits eigentlich machen.
    Ob die Lockbits gesetzt sind oder nicht, merkt man erst, wenn man eine neues Programm flashen will, was dann nicht geht, wenn die Lockbits gesetzt sind.

    Man kann die Lockbits auch nur einmal setzen per Software, zum löschen muss man den ganzen AVR zurücksetzen in den Urzustand sozusagen, also Flash und so alles wieder leer.
    Ist es das was Du meinst ?

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Du willst also wie auch beim DVD-Player eine Sperre einbauen, die nur 5 Änderungen des Herkunftladndes zulässt.

    Wenn du das willst, kannst du das machen, du musst dir nur im Klaren sein, dass der Chip dann verloren ist und du zum weiteren Betrieb eien neuen brauchst.
    Wie du das aber Programmierst kann ich die nicht sagen.

    Wie das mit dem Programmieren den EEPROMs geht kann ich dir nicht sagen. Auf jeden fall hört das sich für mich am besten an.
    Ich würde das empfehlen.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Also ich verstehe auch nicht ganz wo der Sinn liegen soll...

    wenn du feststellen willst ob Jemand deinen Code klauen will: das kannst du nicht, da dein Program währenddessen ja eh nicht läuft.

    wenn du die Funktion deines Programmes nach soundsoviel wie auch immer gearteten Fehleingaben sperren willst, helfen dir die Lockbits nicht, da du damit ja nur das Auslesen sperren kannst.
    So viele Treppen und so wenig Zeit!

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    11.10.2006
    Beiträge
    10
    Nochmal danke für eure Interesse:
    wie kommen der Sache schon näher. Ich bin mir voll und ganz im Klaren was Lockbits für eine Funktion haben, ich habe damit auch schon rumgespielt, und weiß, dass der Atmel dann unwiderruflich unprogrammierbar ist. Ich möchte jetzt nicht die Lockbits per hand im AVR-Studio oder wo auch immer mit der Maus anklicken und so setzten. Sondern das Programm auf dem Atmel soll das selbst machen. Ich habe mir das mal so ganz billig vorgestellt (weiss nicht ob das im Detail richtig ist - bin mir ziemlich sicher es ist falsch, aber ich stell mir das so vor):

    out $ADDRESSE_VOM_LOCKBIT , 1

    mal so exemplarisch.
    Geht das und wenn ja wie ?
    Ich würde es gerne in ASM schreiben, es sollten sich nach meiner auffassung nur um wenige Zeilen handeln.

    Dann noch eine Frage, das mit dem Kompletterase geht das ? Und wenn ja wie ? Der EEPROM und alles auf dem Atmel darf gelöscht werden, ich will ihn nur unlocken. Denn das war meine Laborratte (siehe oben) für den Lockbittest, und da das Programm was drauf ist nur eine LED blinken lässt, wäre ich froh wenn ich den wieder verwenden könnte.


    FelixG: Interessanter Beitrag: du hast mich auf die Idee gebracht:
    ich könnte doch vor dem eigentlichen Programmstart prüfen ob das lockbit gesetzt wurde:

    input ($ADDRESSE_LOCK_BIT, LOCK)
    if LOCK=1 EXIT ; Programm beenden
    else Programm_ausführen


    Danke für eure Antworten (endlich mal ein Board wo die Antworten Hand und Fuß haben)

    Ciao
    Quagmire

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Wenn du das willst, kannst du das machen, du musst dir nur im Klaren sein, dass der Chip dann verloren ist und du zum weiteren Betrieb eien neuen brauchst.
    Kannst Du mir das mal erklären ?
    Software is like s e x: its better when its free.
    Linus Torvald

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Zitat Zitat von Quagmire
    FelixG: Interessanter Beitrag: du hast mich auf die Idee gebracht:
    ich könnte doch vor dem eigentlichen Programmstart prüfen ob das lockbit gesetzt wurde:

    input ($ADDRESSE_LOCK_BIT, LOCK)
    if LOCK=1 EXIT ; Programm beenden
    else Programm_ausführen
    Ob das möglich ist oder nicht, weiss ich nicht...
    aber warum speicherst du dir diesen Wert nicht einfach im EEPROM??
    So viele Treppen und so wenig Zeit!

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •