Forum: Mikrocontroller und Digitale Elektronik *.hex zurück in Source?


von Daniel (Gast)


Lesenswert?

Hallo,

Mir ist was dummes passiert, hab im AVR-Studio ausversehen meine main.c 
gelöscht, wollt aber eigentlich eine andere Datei löschen.

Welche möglichkeit hab ich nun an den Sourcecode wieder zu kommen?
Hab lediglich nur noch die HEX file...

von Christian U. (z0m3ie)


Lesenswert?

keine

von Dennis (Gast)


Lesenswert?

Falls du Assembler kannst, kannst du das Hex-File durch einen 
Disassembler schicken, dann ist es wenigstens wieder lesbar ;)
Aber ob du damit dann was anfangen kannst...

Den C-Code bekommst du jedenfalls aus dem HEX-File nicht mehr zurück. 
Aber wenn die Datei "nur gelöscht" wurde, kann man sie vielleicht mit 
irgendeiner Datenrettungssoftware wiederbekommen.

Gruß

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Doch, lade Dir ein Dateirestaurationprogramm herunter (PCFileInspektor) 
und versuche Dein Glück. Oder gucke mal in den Papierkorb auf Deinem 
Rechner, suche die Datei und klicke auf Wiederherstellen. Wenn das alles 
nicht hilft, hast Du Pech gehabt.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hi Daniel,

Reverse-Engineering ist mit C nicht (sinnvoll) moeglich. Das naechste 
mal legst Dir ne Sicherheitskopie von Deinen Sourcen an, aus Schaden 
wird man bekanntlich klug ;)

Greets,
Michael

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Es hat mal jemand das Problem mit einem Ei und einem Omelette 
verglichen. Das C-Sourcefile ist das Ei, das Hex-File ist das Omelette 
...

von Peter D. (peda)


Lesenswert?

Daniel wrote:
> Mir ist was dummes passiert, hab im AVR-Studio ausversehen meine main.c
> gelöscht, wollt aber eigentlich eine andere Datei löschen.


Und wo ist das Problem?

Nimm einfach die *.bak Datei und benenne sie in *.c um.
Oder schau mal im Papierkorb nach.

Wenn Dein Editor beim Speichern keine *.bak anlegen sollte, schmeiß ihn 
weg und nimm nen richtigen.


Kann man im AVR-Studio überhaupt Dateien löschen?

Viele IDEs können nur ne Datei aus dem Build entfernen, löschen muß man 
sie dann extra im Explorer.


Peter

von Obelix (Gast)


Lesenswert?

> Es hat mal jemand das Problem mit einem Ei und einem Omelette
> verglichen. Das C-Sourcefile ist das Ei, das Hex-File ist das Omelette

Das Omelette einfach in eine Form eines Eies pressen :-D.

von Severino R. (severino)


Lesenswert?

In der .LST-Datei ist auch der Sourcecode enthalten, allerdings nicht am 
Stück, sondern zu jeder C-Anweisung folgen die entsprechenden 
ASM-Befehle.
Ob sich die Mühe lohnt, das Ganze zu extrahieren, musst Du selber 
entscheiden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Backup wieder einspielen? >:-]

Ich habe zuweilen wirklich auch schon Disassembler-Listings in
Hochsprache zurück transferiert, aber es ist eine ziemlich
aufwändige Angelegenheit.

von yalu (Gast)


Lesenswert?

Severino R. schrieb:
> In der .LST-Datei ist auch der Sourcecode enthalten, allerdings
> nicht am Stück, sondern zu jeder C-Anweisung folgen die
> entsprechenden ASM-Befehle. Ob sich die Mühe lohnt, das Ganze zu
> extrahieren, musst Du selber entscheiden.

Weniger Mühe hat man, wenn man das den sed machen lässt:
1
sed -ne '/^ *[0-9]\+:/s/^[^*]*\*\*\*\* //p' main.lst >main.c

Das extrahiert sämtliche in main.lst enthaltenen Quellcodezeilen und
schreibt sie in main.c.

Voraussetzung ist natürlich, dass das main.lst noch vorhanden ist.

von Daniel (Gast)


Lesenswert?

Wow,

erfreut mich der vielen Vorschläge.

Naja AVR-Studio hat die direkt aus dem Projekt gelöscht mittels "Delete 
File" und im Ordner selbst ist keine Datei mehr vorhanden.

Habs schon mit diversen Datenrettungsprogrammen (ObjectRescue und 
EasyRecovery) probiert, aber die finden keine Datei...

AVR-Studio legt wie mir bekannt ist, leider keine Backups an...

Wo finde ich die Main.lst? verwende, AVR-Studio mit WinARV gcc

von Outi O. (outlaw)


Lesenswert?

Wie wäre es mit einem undelete ??

Falls noch net zu viel auf der Festplatte "rumgesaut" wurde, kann sowas 
(wenns noch net zu lange her ist) noch gerettet werden.

Avira (Hersteller vom gleichnamigen Antivirusprogramm) hat da was 
kostenlos zum runterladen.

von Johannes M. (johnny-m)


Lesenswert?

Daniel wrote:
> Wo finde ich die Main.lst? verwende, AVR-Studio mit WinARV gcc
Die gibts nur dann, wenn Du vor dem Compilieren unter "Project | 
Configuration Options" im Tab "General" die Option "Generate List File" 
ausgewählt hast. Default-mäßig wird kein .lss erzeugt...

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.