- LiFePO4 Speicher Test         
Ergebnis 1 bis 8 von 8

Thema: Firmware schützen für PIC

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Beiträge
    8

    Firmware schützen für PIC

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi Leute,

    habe einen Bootloader auf einem 2550 und kann damit Firmware hochladen.

    Den Bootloader kann ich ja codeprotecten, aber um Firmwareupdates beim
    Kunden zu ermöglichen, muss ich ja die Firmware rausgeben.

    Nun habe ich mir gedacht, dass ich einfach in den Bootloader der ja von
    0x0000 bis 0x0800 liegt ein Byte reinschreibe z.B. an die Adresse 0x200
    und die Firmware dann eben nur fnktioniert wenn an 0x200 diese Byte drin
    steht.

    Irgendwie funktioniert aber der Bootloader nicht mehr wenn ich folgende
    Zeilen einfüge

    #pragma idata protection=0x0200
    unsigned char l = 111;


    An was liegt das? Bzw. gibt es eine elegantere Möglichkeit das Problem
    zu löeen?

    mfg

    HD

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    03.12.2004
    Beiträge
    89
    hallo,

    vielleicht hilft dir ja dieser eintrag im forum von microchip weiter: http://forum.microchip.com/tm.aspx?m=224936

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo hansidampfi!

    Es wäre ein Wunder, wenn nach dem Ändern eines Bytes, ein Programm noch richtig funktionieren würde, oder ?

    Wahrscheinlich musst Du das Byte in eine freie Speicherstelle reinschreiben.

    MfG

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Beiträge
    8
    @Jaipur, ja der Beitrag ist von mir und die Lösungen dort sind recht gut...

    @Picture, stimmt! In 0x0200 steht ja der Bootloader

    Es ist aber auch total unsicher einfach ein "geheimes" Byte in den Bootloader zu schreiben, denn es wäre z.B. möglich eine eigene Firmware auf den PIC zu schreiben und dann den kompletten Bootloader über RS232 z.B. rauszuschreiben, dann hat man eine Kopie davon.
    Oder es wäre denkbar mit einem ICD (in cicuit debugger) zu sehen wo das orginal Programm stecken bleibt und dann die entprechende Stelle zu ändern...

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo hansidamphi!

    Ich denke, dass ich Dein Problem nicht verstehe. Wenn Du Firmware schützen willst, warum willst Du den Bootlader ändern ? Die Sicherung müsste doch (wenn überhaupt) in der Firmware enthalten sein, oder ?

    Ich denke auch, dass der PIC mit entschprechenden Bits in __Config geschützt und vor dem Update der Fimware total gelöscht wird.

    MfG

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Beiträge
    8
    Hi Picture,

    ich wollte einfach ein Byte in den Bootloader rein schreiben. Dieses Byte frage ich dann in meiner Firmware ab und stelle damit sicher, dass die Firmware nur mit meinem Bootloader funktioniert. Den Bootloader selbst kann man ja nicht so einfach kopieren, weil er codeprotectet ist!

    Ich habe mal ein Byte z.B. an

    #pragma idata protection=0x07FE
    unsigned char l = 111;

    geschrieben (also Ende des Bootloaders). Das scheint zu funktionieren.
    Kann Firmware hochladen!

    Wie kann ich dieses Byte dann lesen von der Firmware aus?

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    37
    Beiträge
    674
    Ich weiß nicht, ob ich alles richtig verstanden habe, aber bist du dir sicher, dass das ganze sicher ist?
    Wenn du in die Firmware eine Abfrage reinschreibst und man die Firmware lesen kann, kann doch jeder rausfinden, wo im Bootloader welches Byte stehen muss. Das kann er dann in einen eigenen Bootloader einbauen und schon hat er die Sicherung umgangen.

    Ich kenne mich mir PICs nicht aus, deswegen kann ich nicht sagen, ob ich falsch liege.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Beiträge
    8
    nein, wie oben erwähnt ist es eben nicht sicher!

    Mich würde aber trotzdem interessieren wie man es realisieren könnte!

Berechtigungen

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

LiFePO4 Speicher Test