hex File in C Code umwandeln

Gast #886330
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
Gast #886352
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 :-)
#886353
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.
#886354
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
Gast #886358
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
Gast #1208649
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
#1208673
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.