mikrocontroller.net

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


Autor: MB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Wolfram Quehl (quehl)
Datum:

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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marko Hörner (vitis01)
Datum:

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

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.