Moin zusammen, ich verwende Bascom und hauptsächlich ATMega8 und 16. Meine Frage nun, wenn ich eine Schaltung zum freien Nachbauen anbieten möchte, nicht aber den Code, kann man aus dem BIN-File wieder den Bascom-Quellcode erzeugen ? Weil so kann sich jeder selber sein µC brennen, wenn ich das BIN File mit anbiete. Besten Dank im voraus. mfg Oliver
Das nennt sich dann erst mal Disassembler. Der macht aus Binär-Code Assembler-Code. Wenn du das passende Werkzeug dazu hast, kann diwses möglicherweise sogar erkennen, wit welchem Compiler (z.B. Bascom) das ganze erzeugt wurde. SELBST WENN jetzt keine Code-Optimierungen angesetzt wären, würdest du daraus "nur" ein Basic-Programm bekommen. Du weist bestimmt aus eigener Anschauung wie schwierig manche Programme zu verstehen sind, wenn da nicht ein einziges Häppchen Doku oder Kommentar vorhanden ist. Und so selbsterklärend ist es auch nicht immer, daß "Port_2_bit_4" nun genau einen bestimmten Schalter abfragt. In deinem Ursprungs-Code hast du den halt per Zuweisung (und besserer Lesbarkeit "Taste_blau" genannt, aber woher soll der Disassembler das wissen? Aber ich versteh deine Frage nicht: Natürlich kann jemand der an das Binär-File kommt, das selbe Binärfile in seinen nachgemachten Krams reinbrutzeln. Dafür braucht er aber überhaupt keine Ahnung davon zu haben wie der Algorithmus im Chip aussieht. Er braucht lediglich irgendwie das Zeugs übertragen bekommen. Es sei denn du vermutest, daß jemand deinen Code weiter entwickeln möchte.
Ich weiß zwar grad nicht, was das .bin ist, aber wenn es das ist, was in den Flash reinkommt, dann kann man schon den (Assembler)Code zurückgewinnen. Also nacher stehen halt die einzelnen Befehle nacheinander aufgelistet da, jedoch wird es genau so viel Arbeit sein, das wieder in Bascom zu schreiben, wie den Assembler zu entziffern. Also, da es eh Basic ist, kannst du dieses "Risiko" vernachlässigen. dave
Ergänzung zum vorher gesagten: Das im 2. Abschnitt genannte Werkzeug wäre ein Tool, welches aus Assembler code (und Kenntniss der genutzten Bibliotheks-Routinen) dir die ursprüngliche Programmiersprache re-compiliert. Gibts ganz selten, und funktionieren tun die noch seltener.
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.