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...
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ß
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.
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
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 ...
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
> 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.
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.
Backup wieder einspielen? >:-] Ich habe zuweilen wirklich auch schon Disassembler-Listings in Hochsprache zurück transferiert, aber es ist eine ziemlich aufwändige Angelegenheit.
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.