Application File nach Source Code

Gast #3706311
Hallo an alle!
Brauche eure Hilfe, ich hab aus Unachtsamkeit einen SourceCode in VB2010 
gelöscht (unwideruflich).
Nun zu meiner Frage :
Ist es möglich aus dem letzten Stand des Application Files den Source 
Code wieder zu generieren?

Wäre um eure Hilfe dankbar

Gruß
And
Gast #3706436
Der klassische Vergleich, der bei so einer Frage kommt: Man kann auch 
aus einem Hamburger nicht wieder eine Kuh machen. Genauso kann man aus 
einem fertigen Programm nicht wieder den Quellcode machen.
Auch wenn du's jetzt nicht hören willst, aber wie konntest du den Code 
weder in einem Repository noch als Sicherungskopie irgendwo haben? Das 
ist sehr leichtsinnig.
#3707079
Ein kleiner Tipp für's nächste Mal: Das sinnvollste Backup, welches ich 
je implementiert habe, ist Teil eines jeden meiner Makefiles. Nach jedem 
(!) erfolgreichen Compilerlauf macht es ein einfaches Delta-Backup. 
Unter Unix genügen dafür find, cpio und bzip2 bzw. gzip. Die 
gepackten Daten gehen mit einem Zeitstempel in eine dediziertes 
Verzeichnis. Durch eine geeignete Verzeichnisstruktur und geeignete 
Filter lässt sich erreichen, dass nur manuell erstellte Dateien 
gesichert werden. Ein solches Backup ist kaum größer als ein paar 
Dutzend Kilobyte, benötigt nur Bruchteile von Sekunden und hat mir schon 
so manche Kopfschmerzen erspart, denn es passiert immer wieder, dass man 
mal etwas versehentlich löscht oder eine experimentelle Version wieder 
haben möchte, die es nicht bis ins Repository geschafft hat. Ab und an 
kann man auch ein Full-Backup manuell anstoßen. Lege das 
Backup-Verzeichnis auf eine separate Festplatte, einen USB-Stick oder 
eine SD-Karte und Du bist auch gegen Plattenausfälle gewappnet. Der 
heute in jedem Rechner vorhandene SD-Slot ist dafür bestens geeignet, 
darin kann die Karte auch bei einem Notebook ständig stecken, ohne dass 
sie stört. Kauf Dir zwei, drei oder vier Karten, die Du einmal die Woche 
wechselst und Du hast eine schon fast professionelles Backup Lösung. 
Wenn Du willst, kannst Du die Daten ab und zu auf CD archivieren, auch 
bei intensiver Programmierung ergibt das bei geschickter Filterung nur 
alle paar Wochen eine CD. Für dieses Mal nützt Dir das zwar nichts mehr, 
aber der nächste Datenverlust kommt bestimmt und dann gilt wie immer: 
Ein Backup ist kein Backup!
#3707997
123 schrieb:
> Nein - du kannst einen Disassembler versuchen aber da kommt nichts
> gescheites dabei heraus.

Da Dieter schrieb:
> Mitdenken!!! Woher soll das Tool wissen, wie der Code mal ausgesehen
> hat?

Rolf Magnus schrieb:
> Genauso kann man aus
> einem fertigen Programm nicht wieder den Quellcode machen.

Alles falsch :-)
Oben wurde es ja schon einmal erwähnt: du kannst die .NET Assembly 
mühelos wieder in Quellcode zurückwandeln. Schau mal bei Google, da gibt 
es sicherlich massig Anleitungen zu dem Thema.
Ein paar Dinge gehen natürlich verloren (z.B. Quellcode-Kommentare), 
aber das wirst du wohl in Kauf nehmen müssen.
Gast #3710057
Falls es sich beim BS um einaktuelles Windows handelt, liegt die Rettung 
eventuell in der Volumenschattenkopie...
"Eigenschaften, Vorherige Version"
Gast #3711391
A. H. schrieb:
> Nach jedem
> (!) erfolgreichen Compilerlauf macht es ein einfaches Delta-Backup.
> Unter Unix genügen dafür find, cpio und bzip2 bzw. gzip. Die
> gepackten Daten gehen mit einem Zeitstempel in eine dediziertes
> Verzeichnis. Durch eine geeignete Verzeichnisstruktur und geeignete
> Filter lässt sich erreichen, dass nur manuell erstellte Dateien
> gesichert werden.

Dafür kann man viel besser ein VCS wie z.B. git oder mercurial benutzen.
#3712053
foobar schrieb:
> Dafür kann man viel besser ein VCS wie z.B. git oder mercurial benutzen.

Dass man das kann steht außer Zweifel, dass es auch sinnvoll ist 
keineswegs. Ein VCS ist kein Backup-Tool. Wenn Du nach jedem 
Compilerlauf ein Update ins VCS machst dürfte es bald zugemüllt sein mit 
Dingen die es weder wert sind, dort zu landen, noch von denen ich das 
möchte. Code der compiliert muss ja noch lange nicht fehlerfrei sein und 
ich möchte nicht jeden dummen Tippfehler im VCS wiederfinden. Ebenso 
wenig möchte ich bei jedem make einen Kommentar für das VCS schreiben. 
Ins VCS kommen bei mir nur Dinge, die getestet sind oder wenigstens eine 
halbwegs in sich geschlossene und beschreibbare Einheit bilden. 
Abgesehen davon muss ja auch das VCS irgendwie gesichert werden, bei 
Deiner vorgeschlagenen Nutzung entsprechend häufig. Dass das einfacher 
und effizienter zu machen ist als ein kleines Skript im Makefile wage 
ich mal zu bezweifeln.
#3712093
A. H. schrieb:
> Wenn Du nach jedem
> Compilerlauf ein Update ins VCS machst dürfte es bald zugemüllt sein mit
> Dingen die es weder wert sind, dort zu landen, noch von denen ich das
> möchte.

Die goldene Regel des VCS lautet: Check in early, check in often.

A. H. schrieb:
> Ins VCS kommen bei mir nur Dinge, die getestet sind oder wenigstens eine
> halbwegs in sich geschlossene und beschreibbare Einheit bilden.

Dafür gibt's Tags.
#3713596
Boris P. schrieb:
> Die goldene Regel des VCS lautet: Check in early, check in often.

Sure, but often doesn't mean always, and early doesn’t mean straight 
away.

Ein VCS ist ja auch so etwas wie ein Protokoll des Entwicklungsprozesses 
und ich glaube nicht dass man dem, der das einmal liest, einen Gefallen 
tut, wenn man jede Menge Versionen protokolliert, die vielleicht nur 
existieren, weil jemand mal ein Vorzeichen oder ein Semikolon falsch 
gesetzt hat. Etwas mehr Substanz sollte schon dahinter sein, sonst 
erzeugt man nur unnötiges Rauschen und das Repository liest sich eines 
Tages wie der Abspann eines Monty Python Films: „Dem Elch im Hintergrund 
von Szene 37 das Maul wischte...“

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.