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
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 ;-)
Hmm, danke. Ich habe nämlich ein paar probleme mit anderen Programmen, komischerweise funktionert die alte Version am besten!
du kannst den hex code ja wieder disassemblieren. aber ob dir das viel hilft ...
Naja anhand des Assembler-Codes könnte man den C-Code re-engineeren.
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?
avrdisas ist eine Möglichkeit, Assembler-Code aus einem binary zu erzeugen: http://www.johannes-bauer.com/avruc/index.php -Michael
"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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.