mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik hex File in C Code umwandeln


Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen,


ich habe aus meinem Mikrokontroller einen Code ausgelesen.
Nun möchte ich diesen Code gerne verstehen/lesen...

Mit einer Hexadezimalen Anzeige brauch ich gar nicht erst anfangen, und 
mit Assembler bringts auch nichts...


Kennt jemand ein Tool, welches Assembler in C Code bzw. Hexcode in C 
Code umwandelt??


mfg Frank

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in spartanischen Assemblercode geht mit einem Disassembler.
In C kannst du komplett vergessen.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also muss ich Assembler lernen?

mist...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein Omelett. Mit welchem Küchenwerkzeug kann ich daraus die 
Eier wiederherstellen?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne, musst du nicht.
Bei etwas umfanggeicheren Programmen wird das eh nichts.
Denke dran: es fehlen u.a.  alle Marken und Variablennamen. Wenn es 
ursprünglich ein Assemblerprogramm war, kann man da wahrscheinlich noch 
was draus machen, war es ein C-Programm (wovon man inzwischen fast 
automatisch ausgehen kann) ist von der ursprünglichen Struktur nicht 
mehr allzuviel übrig.
Wichtig beim Compilieren ist ja nur, dass die Logik des Programms 
erhalten bleibt - wie das in Maschinensprache übersetzt wird, hängt fast 
auschliesslich vom verwendeten Compiler und dessen 
Optimierungseinstellungen ob.
Also, setz deine Energie in was eigenes, und versuche nicht, in fremder 
Software rumzuhacken :-)

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieder mal das Beispiel mit dem Rührei: Wie willst Du aus dem Rührei die 
ursprünglichen Eier wieder zusammensetzen? Ähnlich ist es, wenn man aus 
Maschinencode oder Assembler (von der Sache her dasselbe) ein 
Hochsprachen-Programm rekonstruieren will. Und wenn man aus hex-Files 
Assembler-Code erzeugt (per Disassembler), dann heißt das noch lange 
nicht, dass der Code dann auch lesbar ist. Schließlich sind da absolut 
keine Bezeichner drin, die der Programmierer zur Verbesserung der 
Lesbarkeit drin hatte, sondern i.d.R. nur Adressen von Speicherzellen 
usw.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly wrote:
> Ich habe ein Omelett. Mit welchem Küchenwerkzeug kann ich daraus die
> Eier wiederherstellen?

Ich hab sone ähnliche Maschine, vorne stecke ich die Steaks rein und 
hinten läuft dann die Kuh wieder raus.


Peter

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Omlettvergleich hinkt ein wenig...
der Code kann immer wieder vom Controller verarbeitet, das Omlett nur 
einmal gegessen werden ;)

aber ansonsten ganz nett :)

najut bleibts erstmal spannend die ganze sache...


gruß Frank

Autor: mmoedern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Sinn würde ein Disassambeln in dem Fall machen, bei dem man Statische 
Texte, die im .hex file als Strings (Zeichenketten) angezeigt werden 
durch z.Bsp. Texte aus anderen Sprachen ersetzen will.
Hat man z.Bsp eine Controller mit Display, der nur dänisch spricht, 
könnte man die Texte nach deutsch/englisch übersetzen. Da die Textlänge 
sich je nach Sprache ändert wäre es super die Texte etwas dynamischer 
anzupassen.

Beispiel (jeweils ausgeangstext --> übersetzung)

kein problem, weil gleich lang:
Processor -> Prozessor
etwas länger:
Motherboard -> Hauptplatine
viel länger:
press "enter" to continue -> drücken sie "Enter" um abzubrechen.

gibts da was?
lg
Martin

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Übersetzungen wie der hier

> press "enter" to continue -> drücken sie "Enter" um abzubrechen.

kommst Du sicherlich auf einen grünen Zweig. Bei so einer Firma wie 
Nedap.

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

Bewertung
0 lesenswert
nicht lesenswert
mmoedern wrote:

> gibts da was?

* Disassembler suchen, wenn nötig selber schreiben (da kommst du dann 
auch drauf, dass das nicht unbedingt eindeutig sein muss)
* Programm analysieren und hoffen dass alles letztendlich bei einer 
zentralen Textausgabefunktion mündet.
* Für alle Textstellen im Programm raussuchen, wo und wie sie verwendet 
werden.
* Anpassen
* Beten

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.