![]() |
Re: programm, das eigenen Quellcode ausgibt?
Und du bist sicher, dass Du nicht einfach die Aufgabenstellung falsch verstanden hast.
Folgende Einwände: 1. ES ist unmöglich. Denn definitv sind zumindest viele Bezeichner einfach durch Adressen ersetzt, die sind weg nach dem Compilieren einfach nicht mehr da. 2. Eine einfache exe weiß von dem Quellcode nichts mehr, um das revers zu matchen, müßte ... klar wie es jetzt weitergeht, nicht? Güsse Woki |
Re: programm, das eigenen Quellcode ausgibt?
Es geht doch garnicht darum die Source aus dem EXE herauszuziehen.
Ein EXE soll eine Ausgabe machen, die genau ihrer eigenen Source entspricht. |
Re: programm, das eigenen Quellcode ausgibt?
Zitat:
Angenommen der Code lautet
Delphi-Quellcode:
und an einer beliebigen Stelle des Codes würde nun eine entsprechende Zeile
i:= 42;
Delphi-Quellcode:
stehen, gehört eben diese Zeile strenggenommen ebenfalls zum Code und müsste ebenfalls ausgegeben werden...
Ausgabe('i:= 42');
Folglich muss der Code dem EXE in "externer Form", zB gelinkt als Ressource, mit Verweis auf das Source-File, öä zur Verfügung stehen, damit hier lediglich etwas in der Form
Delphi-Quellcode:
steht.
Ausgabe(SourceAusExternerQuelle);
Es hoffe, es wurde klar, was ich meine... :gruebel: |
Re: programm, das eigenen Quellcode ausgibt?
Zumindest bei C sollte der Präprozessor das Paradoxon aufbrechen koennen.
Ich kann mich schwach erinnern das bei den IOCCC-Programmen was dabei war. ![]() |
Re: programm, das eigenen Quellcode ausgibt?
Also mal erstens:
Die anderen haben die ganze Zeit dein Problem verstanden und versucht dir klar zu machen, dass man aus ner .exe-Datei nicht den Delphi-Quellcode machen kann !!! Sowas ist 100% unmöglich. Deine Lösung: Nachdem du mit dem Programm fertig bist, kopierst du den Quelltext und speicherst ihn in ne Variable/Konstante/..., die du dann im Programm an jeder Stelle ausgeben kannst. |
Re: programm, das eigenen Quellcode ausgibt?
Es ist lange her, dass ich mit C gearbeitet habe, aber allgemein sollte soetwas nach meinem Empfinden nur dann funktionieren, wenn
In Delphi bekomme ich bei diesem Konstrukt
Delphi-Quellcode:
einen "Fatalen-Fehler"
unit MyUnit;
interface implementation {$i MyUnit.pas} end. Zitat:
|
Re: programm, das eigenen Quellcode ausgibt?
nun, das problem ist folgendes:
wenn ich den quellcode in eine Konstante speichere, muss ich die definion der Konstante auch ausgeben! das wär dann sozusagen eine unendliche rekursion! z.B:
Delphi-Quellcode:
beim ... muss eben der inhalt von ausgabe sein!
program main; const ausgabe = 'program main; const ausgabe = '...'; begin writeln(ausgabe); end.'; begin writeln(ausgabe); end.
|
Re: programm, das eigenen Quellcode ausgibt?
Hallo Illuminator-23-5,
das ist ziemlich genau das, was ich mit meinem Posting von heute, 11:13 meinte. Bitte kläre doch noch einmal die Problemstellung mit Deinem "info-lehrer", falls es dann noch ein "wirkliches" Problem geben sollte, können wir es ggf lösen. |
Re: programm, das eigenen Quellcode ausgibt?
Ich tippe mal auf diese Idee:
Zitat:
|
Re: programm, das eigenen Quellcode ausgibt?
Rekursion? Was hat denn das damit zu tun? Ich meine, du müsstest das Programm ja so dekompilieren, dass du alles wiederbekommst. Und das ist schlicht weg nicht möglich, wie hier schon mehrmals gesagt wurde. Ich bezweifle auch, dass euer Info Lehrer solchen Schwachsinn von euch verlangt. Vielleicht hat er einfach gemeint, ihr sollt den Source bevor ihr das Prog kompiliert, einfach irgendwie speichern und dann das Programm so gestalten, dass er aufgerufen wird. (txt, resource, wie schon öfters erwähnt) Da gibts Probleme mit Variablennamen usw und sofort. Das einzige, was mit Dekompilieren glaub ich möglich ist, ist, die Prozedurköpfe zu bekommen, aber nicht mal da bin ich mir sicher...
Man liest sich, Stanlay :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz