Forum: Mikrocontroller und Digitale Elektronik Quelltext aus BIN-Datei erzeugen


von MB (Gast)


Lesenswert?

Hallo,

gibt es eine Möglichkeit aus einer BIN-Datei wieder einen Quelltext zu 
bekommen. In dem Fall geht es um eine, unter BASCOM erzeugte *.bin Datei 
deren Quelltext nicht mehr auffindbar ist.

von Otto (Gast)


Lesenswert?

Nein - es besteht nur die Möglichkeit, den Code zu dissassemblieren.
Dabei erhältst Du dann ein Assemblerprogramm -  und den ohne symbolische 
Adressen.

Otto

von Niels H. (monarch35)


Lesenswert?

Das was du suchst, nennt sich "disassembler". Diese machen für 
gewöhnlich aus dem Maschinencode wieder assemblierbaren Assemblercode. 
Eine höhere Abstraktionsebene, wie z.B. C-Code, erreicht man gewöhnlich 
auf diesem Weg allerdings nicht.

Ein Disassembler, den ich gefunden habe:
http://www.visi.com/~dwinker/revava/

von Wolfram Q. (quehl)


Lesenswert?

kann man den Revava irgendwo als .EXE datei bekommen? Ich hab keinen C 
compiler.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Dieses EXE ist mir auch nicht bekannt und die Seite ist anscheinend 
down.

In dieser Diskussion Beitrag "AVR-Disassembler" ist ein 
Link zu einem anderen AVR Disassembler, der bereits als EXE vohanden 
ist. Funktioniert auch.

von Marko H. (vitis01)


Lesenswert?

in der regel gehts schneller den code
neu zu proggen als die hex oder bin
in code umzuwandeln.

von Niels H. (monarch35)


Lesenswert?

Marko Hörner wrote:
> in der regel gehts schneller den code
> neu zu proggen als die hex oder bin
> in code umzuwandeln.

Das würde ich so pauschal aber nicht behaupten. Wenn es z.B. darum geht, 
in einer 5KB-grossen Bin einen einzigen Parameter zu ändern, macht 
disassembeln durchaus Sinn.

von yalu (Gast)


Lesenswert?

Wenn's nur um den Disassembler geht: Der ist auch bei den GNU-Binutils
(und damit wahrscheinlich auch bei WinAVR) mit dabei. Aber damit hat
man natürlich noch keinen Basic-Code, den MB ja offensichtlich
braucht.

von Karl H. (kbuchegg)


Lesenswert?

Niels Hüsken wrote:
> Marko Hörner wrote:
>> in der regel gehts schneller den code
>> neu zu proggen als die hex oder bin
>> in code umzuwandeln.
>
> Das würde ich so pauschal aber nicht behaupten. Wenn es z.B. darum geht,
> in einer 5KB-grossen Bin einen einzigen Parameter zu ändern, macht
> disassembeln durchaus Sinn.

Kommt drauf an.
Wenn du weist, wo der Parameter steht ist das ok. Aber dann
kannst du das auch mit einem HEX Editor direkt im BIN machen.
Wenn du vorher die Programmlogik anaylsieren musst um rauszufinden,
wie ein bestimmter Parameter implementiert ist, dann wirds ebenfalls
aufwändig.

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.