Autor |
Beitrag |
schitho
      
Beiträge: 288
XP Home SP2
D2005 Prof
|
Verfasst: Fr 10.09.04 21:44
Hi,
nach einem Plattencrash ist der Sourcecode von einem meiner Delphiprogramme leider weg. Blöderweise hab ich auch keine Sicherung
Gibt es eine Möglichkeit aus der fertigen EXE-Datei - die hab ich noch - mit einem Tool den Sourcecode wieder zu erzeugen??
Gruß
Thomas
_________________ (Sorry! Leider ewiger Delphi-Neuling)
|
|
Phobeus
      
Beiträge: 1280
Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
|
Verfasst: Fr 10.09.04 22:08
Eindeutiger Fall von LDS (Lernen Durch Schmerz).
1. Es kann nicht wichtig gewesen sein, da keine Sicherung vorliegt
2. Wenn es wichtig war, hätte eine Sicherung vorliegen müssen
3. Bereit man das Problem resultierend aus 1 und/oder 2 ==> LDS

_________________ "Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
|
|
schitho 
      
Beiträge: 288
XP Home SP2
D2005 Prof
|
Verfasst: Fr 10.09.04 22:15
_________________ (Sorry! Leider ewiger Delphi-Neuling)
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Fr 10.09.04 22:15
Nein!
Wähle bitte eine Reaktion:
[ ]
[ ]
[ ]
[ ]
Das Leben kann soooo grausam sein ...
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 10.09.04 23:30
Hm, kann es sein, dass diese Frage mindestens jeden Monat einmal auftaucht? 
|
|
Sprint
      
Beiträge: 849
|
Verfasst: Fr 10.09.04 23:47
Ich bin mir nicht ganz sicher ob "Wie kann ich ein Zeichen in einem String ändern" oder "Wie komme ich an den Source Code einer EXE" die von mir am meist gelesene Frage ist. 
_________________ Ciao, Sprint.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 11.09.04 00:13
Womit wir bei der Signatur von .Chef wären. da fehlt nur noch Shellexecute, dann wäre sie so ziemlich komplett. 
|
|
Phobeus
      
Beiträge: 1280
Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
|
Verfasst: Sa 11.09.04 02:21
Nun seit nicht so negativ. Ich habe irgendwo neuerlich einen Artikel gelesen über ein neuentwickelte tibetanisches Metidation um verlorenen Source Code durch spirtituelle Eingebung wiederherzustellen. Ist eigentlich ganz einfach: Im vollen Lotus-Sitz eine Stunde verweilen und danach eine normale Meditation mit dem Mantra "Backup" durchführen. Dabei tief durchatmen und in sich gehen - nicht zur Bewußtlosigkeit betreiben, die Übung lieber häufiger Unterbrechen und dafür mehrfach durchführen. Mir ist es zwar bisher nur damit gelungen einen Bug in meinem Source Code wiederherzustellen, aber nach einigen Jahren Training klappt es ja vielleicht.
Kann das wer bitte ins FAQ übernehmen?
Ich denke die Antworten beantworten die Frage auch schon
btw: Die Signatur hat wirklich etwas 
_________________ "Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Sa 11.09.04 08:39
Luckie hat folgendes geschrieben: | Womit wir bei der Signatur von .Chef wären. da fehlt nur noch Shellexecute, dann wäre sie so ziemlich komplett.  |
Bei der Zusammenstellung hab ich überlegt, ob ich shellexecute oder DoubleBuffered nehme. Und im SDC kamen doch recht oft Fragen wie "Wie kann ich verhindern, dass mein Image flackert, wenn ich darauf zeichne?" 
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Sa 11.09.04 11:03
seid mal net so gemein ^^
mit DeDE (delphi decompiler) kannste wenigstens die dfm dateien und den source in assembler wieder herstellen, das hilft dir villeicht das programm schneller wieder programmieren zu können... kompletten source das man ihn wieder compilieren kann kann man nicht wieder herstellen
|
|
MartinPb
      
Beiträge: 698
|
Verfasst: Sa 11.09.04 12:12
Decompilieren kann man nur Dateien die gestutzt, komprimiert, zusammengepackt, aber nicht komplett verändert wurden. Deshalb kann man ein Delphi Programm nicht wiederherstellen, weil die Wiederherstellungsinformaltionen nicht mehr da sind. Zwar speichert Delphi einige Informationen ab - hab ich mir sagen lassen - aber der Code wird in Maschinensprache verändert. Delphi hat das was man einen richtigen Compiler nennt. Es gibt andere Programmiersprachen, wie z.B. Delphi.NET oder C#, dessen Code man wiederherstellen kann (hab ich mir auch sagen lassen). Das liegt aber daran, daß der Code nur vorkompiliert wird. Kompiliert werden NET Programme erst bei der Ausführung. Man sollte also nicht grundsätzlich sagen, daß man Programme nicht wiederherstellen kann, aber bei Delphi ist es nicht möglich.
Was aber möglich ist:
DeDE - dekompiliert Depliprogramme insoweit, daß du zumindest die Formulare hast. Ob auch die Evens hergestellt werden, weiß ich nicht.
Dcu2Pas - stellt DCU Dateien insoweit wieder her, daß du zumindest die Unitstruktur wiederhergestellt wird. Allerdings ist das nur für DCUs und der Code innerhalb der Prozeduren und Funktionen Assembler. Wenn es das eigene Programm ist und man sich noch an das Programm noch erinnert, so kann man zumindest einiges ändern. Aber den Pascacode lesen ist nicht drinn.
Ressource Programme - Mit solchen programmen kannst du zumindest die Ressourcen wiederherstellen.
Das ist alles was ich kenne. Theoretisch wäre es also möglich einen Decompiler insoweit herzustellen, der er das ganze Programm wiederherstellt, aber mit Assemblercode. Aber ich kenne so ein Programm nicht.
_________________ Gruß
Martin
|
|
schitho 
      
Beiträge: 288
XP Home SP2
D2005 Prof
|
Verfasst: Sa 11.09.04 14:04
Hallo Martin,
Danke für die ausführliche Antwort.
Werde vielleicht doch meine kaputte Festplatte zu einem professionellen Datenretter bringen. Hatte nämlich nicht nur meine Delphiprogramme, sondern auch meine Sammmlung von mehr als 900 Audio-CD erfasst.
Leider hab ich die Daten nicht gesichert, weil meine 2. Platte schon ziemlich voll war. Hab daher nur eine alte Sicherung, auf der mir aber einiges fehlt. Hatte mir eh vorgenommen Alternativen zur Datensicherung zu überlegen. Aus Zeitgründen und weil ich nicht wirklich mit dem Worstcase gerechnet hatte, hab ich es vor mich hergeschoben.
Ja, Ihr habt vollkommen recht: Selber Schuld. Ist nun aber leider so. Und daher muss ich halt in den sauren Apfel beissen.
Bei der Gelegenheit:
Wie bzw. wo und wie oft sichert Ihr Eure Daten?
Genügt eine 2. Platte?
Habt Ihr die Sicherung automatisiert? Wie?
Gruß
Thomas
PS: Verwende seit ein paar Tagen Windows XP Home
_________________ (Sorry! Leider ewiger Delphi-Neuling)
|
|
Sprint
      
Beiträge: 849
|
Verfasst: Sa 11.09.04 14:32
schitho hat folgendes geschrieben: | Genügt eine 2. Platte? |
Habe ich jahrelang so gemacht. Bis ich mal einen unerklärlichen Plattencrash hatte.
Im meinem PC waren vier identische IBM Platten. Von denen am gleichen Tag drei kaputt gegangen sind.
Ich konnte mir das einfach nicht erklären...
Seitdem benutze ich PE Builder. Ein startbares Windows auf CD. Zusätzlich ist auf der CD PowerQuest DriveImage, Symantec Ghost, Snapshoot und Image für Windows von TeraByte.
Zitat: | Habt Ihr die Sicherung automatisiert? Wie? |
Ich benutze meine BootCD mit Windows (PE Builder) und mache ein Image von meinem System. Brenne das auf DVD.
Das klappt gut. Von wichtigen Daten mache ich regelmäßig Backups mit WinRAR und brenne das auf DVD.
_________________ Ciao, Sprint.
|
|
Phobeus
      
Beiträge: 1280
Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
|
Verfasst: Sa 11.09.04 15:08
Datensicherung erfolgt jede Nacht gegen 2 Uhr per Cronjob gepackt und auf eine andere Festplatte. Einmal die Woche (sonntags) wird gleich ein ISO erzeugt und auf ne DVD-RW geschoben. Das ist keineswegs eine sonderlich sichere "Sicherung", allerdings selbst im WorthCase sind dann vielleicht die Daten von max 7. Tagen hinüber, dass ist meistens noch verkraftbar.
_________________ "Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
|
|
Tilo
      
Beiträge: 1098
Erhaltene Danke: 13
Win7 geg. WInXP oder sogar Win98
Rad2007
|
Verfasst: Sa 11.09.04 23:31
Alle neuersstellten und veränderten Dateien kommen in den Ordner "zuBrennen". Am Wochenende ist dann Burning auf CD(Neuerdings DVD bei großen mengen wie Filme).
Delphi-Dateien sind ausgenommen, da ich mein Programme in der Schule teste->daher auf anderen Datenträger vorhanden, außer druck ich einige Codeschnippsel aus(wenn ich Struckturen über mehr als 2 Seiten übersehen muss).
E-Mails die ich behalten möchte werden ausgedruckt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 12.09.04 09:34
Ich kopiere mit xcopy regelmäßig alle wichtigen Daten auf eine zweite Festplatte. Automatisiert habe ich das mit einer Batchdatei, einfach ausführen fertig. Von da werden sie dann auf CD gebrannt. Im ungünstigesten Fall habe ich also eine identische Kopie der Daten und im günstigsten zwei. Das sollte ein guter Kompromiss zwischen Aufwand, Kosten und Nutzen sein.
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: So 12.09.04 14:48
hab keine wichtigen dateien, wenn festplatte crashed ist halt alles weg das pech ^^ muss ich halt neu coden ;> die paar wichtigen sources die ich habe hab ich aber meistens immer irgendwo hochgeladen das ich se halt dann doch wiederbekomme 
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: So 12.09.04 15:27
Hi,
ich sage nur CVS-Server  .
@schitho: Lese dir mal diesen Artikel durch, auf Seite 3 findest du auch Tools, die dir helfen wollen aus deiner EXE wieder Quelltexte zu gewinnen. Wie enahe deren erzeugnisse wieder ans Original rankommen ist eine andere Frage.
Gruß
Klabautermann
|
|
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 12.09.04 16:18
uall@ogc hat folgendes geschrieben: | wenn festplatte crashed ist halt alles weg das pech ^^ |
Hrhr, irgendwoher kenn ich diese Einstellung.
Festplatten haben bei mir nicht kaputt zu gehen und wenn sie es doch tun, dann kann sich endlich mal wieder meine gesamte, über Jahre aufgestaute Wut an einem kleinen Verkäufer entladen. Das wirkt befreiend, wisst ihr? =)
|
|
Phobeus
      
Beiträge: 1280
Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
|
Verfasst: So 12.09.04 23:29
Was kann den der arme Wicht dafür O_o
Als alternatives Backup-"System" kann man auch noch die naive Methoden machen... so wie die meisten Menschen sich in ihren Leben absichern. Beten, dass alles gut geht und wenn dann doch alles weg ist, kann man sich immer noch eine Kugel rein jagen. Aber laßt um himmelswillen Eure Händler leben...
@CVS: Yep... in dem Moment, wo ihr jemals zu zweit arbeitet oder auch nur das leichte Gefühl verspürt das einigen Daten wichtig sind, arbeitet Euch in CVS ein. Die Zeit lohnt sich. Nicht nur wegen Datenverlust, sondern auch bei "Dummheit/Trunkenheit am Code"
_________________ "Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
|
|