- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 8 von 8

Thema: Wie kann ich (m)einen Arduino-Sketch schützen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.713
    .. Sketch für eine Fernsteuerung auf Basis ..mega 328 .. dass ein Käufer diesen Sketch selbst verwendet und das Gerät nachbaut. Wie kann ich das verhindern? ..
    Also das Gerät nachzubauen wird ziemlich einfach sein - arduinos gibts fast überall, original, als Clone etc. Und das Gerätchen wird vermutlich auch nicht in Stahlplatten eingeschweißt.

    Du meinst aber sicher dass Du den Softwareklau verhindern möchtest. Hast Du schon mal versucht den Code >>den Maschinencode<< aus einem mega328 auszulesen und zu entziffern? Sprich: aus dem Hexfile das ursprüngliche Programm rauszuarbeiten? Versuchs mal mit nem einfachen "Hello World". Erstens ist das Disassemblieren nicht sooo einfach. Dann hat man mal ein Listing in Assembler das hoffentlich die ganze Chose wiedergibt - es kommt ja vor, dass zwischen den Maschinencodestückchen auch mal ein paar Daten sind - und die könnte man auch als Code (der dann sicher idiotische Aktionen brächte) interpretieren. Also nicht ganz einfach. Denn: der Sketch liegt bei Dir auf dem Rechner, der Hexfile sieht doch gewaltig anders aus.

    Hat man den richtigen Assemblercode dann muss man rausfinden welche Peripherie wo im Code angesprochen wird. Auch ein sattes Stück Arbeit - wenn das überhaupt klappt!

    Insgesamt bin ich der Meinung, dass ein duchschnittlicher Konsument bestenfalls das Gerätchen akribisch nachbaut, die Software exakt auf einen eigenen Controller kopiert und dann nutzt. Sehr geübte Programmierer könnten so nen Klau machen - aber die werden sicher selbst etwas bauen, hard- und softwaremässig. Das dürfte ganz erheblich leichter sein, als "dass ein Käufer diesen Sketch selbst verwendet". Wie erwähnt - der Quellcode ist nicht im Controller und ich finde Deine Bemühungen daher reichlich überflüssig. Nicht überflüssig sind die Vorsicht-Rufe oben zum Inverkehrbringen von Elektronikartikeln.
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Wenn ich ein Gerät mit Software kopieren möchte, brauche ich den Source Code ja nicht,
    ich muss also nur irgendwie an die Binärdaten rankommen.
    Wenn ich die habe, progge ich die in einen anderen Chip.

    Um das zu verhindern, gibt es bei fast allen Chips das so genannte Read Code Protection.
    Oft auch "Last Fuse" Verfahren.
    Irgendwie gibt es aber immer wieder ein Hintertürchen wie man da trotzdem ran kommt.
    Ist alles immer ein Frage des Aufwandes und des Nutzens.
    Wennn ich ein Blinklicht habe, lohnt das Auslesen der Software nicht, da ich es schneller selbst programmiert habe.
    Den eigentlichen Code brauche ich aber eigentlich nur für Änderungen und das ist oft ja garnicht erforderlich.

    Ich setzte zwar auch immer die Last Fuse Bits, oder Read Protection Bits,
    damit habe ich zumindest einen gewissen Schutz vor Otto Normal Programmierer.

    Man glaub aber garnicht wie gewieft manche sind um trotzdem an den Code zu kommen...
    Da gibt es dann Beschreibungen, das man eine Überspannung an Pin x legen muss, den Chip auf Temperatur y
    bringen, dann.....
    Hier scheint man SEHR experimentierfreudig zu sein.

    Ich habe das bei einem Microchip PIC mal erlebt. Der Resetpin wurde mittels Register deaktivert und als Eingang programmiert.
    Man kann aber trotzdem auf diesem Pin einen Reset auslösen, indem man eine Spannung ca. 0.6 Volt höher als die Versorgung anlegt.
    Dann wird intern anscheinend eine Diode leitend und der Chip führt einen Reset aus, obwohl die Funktion deaktiviert wurde.
    Ist natürlich ausserhalb der Spezifikation, aber wen interessiert das schon Ich will damit nur zeigen wie simpel
    man eine deaktivierte Funktion umgehen kann.

    Für die Entwickler und/oder kleine Firmen ist das natürlich ganz schlimm, wenn es dann plötzlich einen Clone für einen Bruchteil des Preises gibt.
    Gutes Beispiel ist ein Stabilisierungssystem für Modellhubschrauber, (ich hab den Namen bzw. Hersteller bewust raugenommen) das kostet Original so ca. 200 Euro.
    Es gibt einen hundert Prozent Clone für rund 30 Euro. Da funktioniert auch die recht komplexe Programmiersoftware völlig identisch.
    ! Das soll hier aber keine Werbung für Clone sein, das macht leider viele Firmen kaputt.
    Einen wirklichen Schutz gibt es also nicht.

    Wenn man wirklkich meint etwas Bahnbrechendes entwickelt zu haben, gibt es noch die Möglichkeit ein "Gebrauchsmuster" anzumelden,
    das kost glaube ich keine 50 Euro. Das ist ähnlich bzw. die Vorabversion eines Patents.


    Siro
    Geändert von Siro (29.10.2018 um 22:33 Uhr)

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.03.2014
    Beiträge
    182
    Vielen Dank für Eure Antworten. Das Auslesen scheint also zumindest schwierig zu sein und nur für "Kenner" machbar. Das Kopieren direkt in einen anderen Prozessor jedoch leichter - was ja letztlich das (bzw. "ein") Ziel wäre, um das Ganze nachzubauen. So entnehme ich das Euren Antworten. Dann muss ich wohl damit "leben", denn sooooo bedeutend ist mein Gerätlein dann auch wieder nicht, um in die Software eine Enigma einzubauen

    Danke
    Andi

Ähnliche Themen

  1. Arduino Sketch (C) Arduino C++ Sketch: HC-SR04 mit Arduino (AVR)
    Von HaWe im Forum Bascom / C / ASM / Sketch / Codesammlung / Programmschnipsel
    Antworten: 0
    Letzter Beitrag: 22.08.2018, 14:47
  2. Arduino Sketch serielles Terminal: erkennen von CR
    Von Ford Prefect im Forum Arduino -Plattform
    Antworten: 3
    Letzter Beitrag: 18.06.2014, 14:58
  3. Wie kann ich über Arduino einen Rc-Regler steuern?
    Von Moritz Weichert im Forum Motoren
    Antworten: 22
    Letzter Beitrag: 30.01.2013, 12:02
  4. frage zu sketch arduino und webserver
    Von der_tom im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 11.03.2012, 18:07
  5. Arduino kann einen "acos" nicht berechnen. [gelöst
    Von Zimt Creme im Forum Software, Algorithmen und KI
    Antworten: 10
    Letzter Beitrag: 09.02.2011, 07:47

Berechtigungen

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

LiFePO4 Speicher Test