hex File in C Code umwandeln

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren