Forum: Mikrocontroller und Digitale Elektronik BIN File decoden ?


von Oliver (Gast)


Lesenswert?

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

von Martin S. (Gast)


Lesenswert?

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.

von dave (Gast)


Lesenswert?

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

von Martin S. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.