Forum: PC-Programmierung datei im Hex-Format in C-Code rückwandeln?


von Matten (Gast)


Lesenswert?

Hallo, ich habe ein Programm auf einem Microcontroller liegen dessen 
Orginal C-Code mir leider abhanden gekommen ist. Das Programm liegt auf 
dem uC allerdings ja im Hex-Format vor, wenn ich es mit Pony-Prog 
auslese. Gibts eine möglichkeit, oder ein programm, welches die datei 
wieder in "lesbaren" Code zurückwandelt? Die ursprüngliche datei wurde 
mit WinAVR compiliert.

Danke für eure Antworten

Matthias

von yalu (Gast)


Lesenswert?

Das ist so, als wolle man aus einem Hamburger wieder die Kuh
zurückgewinnen¹. Neuschreiben des C-Programms ist auf jeden Fall
leichter.

¹) sofern Hamburger überhaupt aus Fleisch bestehen ;-)

von Matten (Gast)


Lesenswert?

Hmm, danke.

Ich habe nämlich ein paar probleme mit anderen Programmen, 
komischerweise funktionert die alte Version am besten!

von zwieblum (Gast)


Lesenswert?

du kannst den hex code ja wieder disassemblieren. aber ob dir das viel 
hilft ...

von Mark B. (markbrandis)


Lesenswert?

Naja anhand des Assembler-Codes könnte man den C-Code re-engineeren.

von Ahem (Gast)


Lesenswert?

Den C-Code zu erstellen, der diese HEX-File erzeugt, ist (mit 
vernünftigem Aufwand) so gut wie ausgeschlossen. (Abgesehen davon, das 
die Variablen- und Funktionsnamen nicht stimmen werden).

Aber man könnte einen C-Code zu erstellen, der zumindest das selbe macht 
wie das HEX-File.
Das ist aber auf jeden Fall ein sehr grosser Aufwand.

Wie wichtig ist Dir das denn? Budget?

von Michael H. (mah)


Lesenswert?

avrdisas ist eine Möglichkeit, Assembler-Code aus einem binary zu 
erzeugen:

http://www.johannes-bauer.com/avruc/index.php

-Michael

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

"IDA Pro" war doch recht leistungsfähig als Disassembler, schau mal nach 
was der so kann

http://www.hex-rays.com/idapro/

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.