Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Geht´s auch umgekehrt?? (https://www.delphipraxis.net/4169-geht%B4s-auch-umgekehrt.html)

hans-peter 17. Apr 2003 21:23


Geht´s auch umgekehrt??
 
Liebe Gemeinde,

es gibt Fragen, auf die wahrscheinlich nur ein echtes greenhorn (wie ich) kommen kann:

Kann man eigentlich eine exe.Datei auch wieder zurückumwandeln in einen lesbaren Quellcode?????

Wüßt ich zu gern.
Wie immer lieben Gruß!
Hans-Peter

MrSpock 17. Apr 2003 21:35

Hallo Hans-Peter2,

die Antwort lautet leider: NEIN

es geht nur eine exe etwas lesbarer zu machen wenn man sie reassembliert. Aber Rückwandlung in eine Hochsprache ist nicht möglich.

jbg 17. Apr 2003 21:45

Zitat:

Zitat von MrSpock
reassembliert

re: lat. wieder
Und was bring es dir, wenn du die Exe-Datei nocheinmal assemblierst? :lol:

Du meintest wohl disassemblieren. Und das ist wiederum strafbar.

MrSpock 17. Apr 2003 21:48

re oder dis?

Ich meine, es heißt ja auch Kartoffelpürre und nicht Kartoffelpüdis.

Ich mein ja nur ... :mrgreen:

OK, ich geb ja zu: Nicht alles was hinkt, ist ein Beispiel. :lol:

nailor 17. Apr 2003 22:30

Wo liegt denn das Problem. Ich hab doch erst gestern ein kleines Prog geschrieben, das aus jeder exe bestimmen kann, wie der Quelltext in Fortran, C, C++, Delphi und Basic ausgesehen hätte. Hab aber anscheinend vergessen es bei Freeware reinzustellen. Mach ich, wenn ich wieder aus den Ferien zurückbin.

mfG,
Nailor

PS: ist allerdings nur ne 30-Tage Testversion

Daniel B 17. Apr 2003 22:34

Hallo,
Zitat:

Zitat von Nailor
Wo liegt denn das Problem. Ich hab doch erst gestern ein kleines Prog geschrieben, das aus jeder exe bestimmen kann, wie der Quelltext in Fortran, C, C++, Delphi und Basic ausgesehen hätte. Hab aber anscheinend vergessen es bei Freeware reinzustellen. Mach ich, wenn ich wieder aus den Ferien zurückbin.

Drei mal darfst Du raten an wenn ich mcih wenden werde falls dies auch nur annähernd funktioniert. :twisted:

Grüsse, Daniel :hi:

nailor 17. Apr 2003 23:27

Das ist nicht illegal. Kazaa ist ja auch nicht illegal. Das ist für die armen Leute gedacht, die den Quelltext verloren haben. Überleg dir doch mal, was die bei Microsoft machen, wenn Bill Gates aus versehen auf ENTF drückt, während KERNEL32.PAS ( :wink: ) selektiert war? Da sind die dann auf mein Programm angewiesen!

mfG
Nailor

PS: Ich werde reich!!! :D :D :D Stinkreich!!!!!
PPS: Ich verteh' nicht warum keiner vor mir draufgekommen ist, sowas zu schreiben *grübel*
PPPS: Natürlich funzt das!!!

Christian Seehase 17. Apr 2003 23:45

Moin Nailor,
  1. Reverse Engineering ist illegal :!:
  2. Tauschbörsen mit urheberrechtlich geschütztem Material (wie auch immer sie heissen mögen sind illegal :!:
  3. 1. April ist vorbei, stell' mal Deinen Kalender um :mrgreen:

Um keine Missverständnisse aufkommen zu lassen:
Die beiden ersten Punkte sind durchaus ernst gemeint.

nailor 17. Apr 2003 23:50

Das mit Punkt 1 und Punkt 2 weiß ich. Aber deshalb wäre es ja nicht illegal, ein Tool zu machen, das das kann. Siehe Kazaa das ist nicht illegal, obwohl es illegale Sachen machen könnte/kann. Genauso wäre ein Tool das disassemblieren kann nicht automatisch illegal, weil ich ja wohl noch meine (und jeder andere seine) eigenen Programme disassemblieren kann, wie ich (er) will.

PS: Warum 1. April? Über drawback mit nem sehr schnellen Coputer liese sich da bestimmt was machen...

Christian Seehase 17. Apr 2003 23:58

Moin Nailor,

klar mit eigenen (Punkt 1) oder nicht geschützten (Punkt 2) Sachen ist das erlaubt.
Ich fand's nur wichtig einmal explizit darauf hinzuweisen, dass das allgemein nicht der Fall ist.

Mit Punkt 3 war Deine Aussage zum einem Programm gemeint, das EXE Dateien wieder in Quellcode zurückverwandelt. ;-)

nailor 18. Apr 2003 00:13

Ja, man müsste nur unabhängig von variablen-Namen u.ä. alle möglich Quelltexte durchgehen, und irgendwann käme die gewünschte exe-Datei dabei heraus. Das bedeutet, man hätte einen der möglichen Quelltexte gefunden, die diese exe erzeugen. Das ginge schon, würde zwar etwas dauern, und wäre wahrscheinlich noch nicht mal illegal, sondern nur in der Grauzone, weil du eigentlich (ausser Dateien von dir damit zu vergleichen) mit der exe nichts gemacht hast...

Daniel B 18. Apr 2003 09:06

Hallo,

sollte es irgend jemandem gelingen, den Code wieder rauszufieseln, denke ich das es sehr schnell, viele Programmierer werden gibt, die die Sprache wechseln!! Den wer programmiert schon gerne in einer Sprache, wofür es decompilier Tools gibt. Ich jedenfalls nicht.

Grüsse, Daniel :hi:

Luckie 18. Apr 2003 09:44

Das GEHT nicht!!!!

Das ist wie, als wenn du 1000 kg Gehacktes halb und halb hast und wolltest daraus wieder das Schwein und das Rind machen.

TheXception 18. Apr 2003 09:49

Schaut euch einfach mal das an:
EXE2DPR
Geht (manchmal) auch bei Delphi 5-7.

Daniel 18. Apr 2003 09:56

Hallo,

dieses Programm macht etwas leicht anderes: Es extrahiert die Formular-Ressourcen aus einer EXE-Datei. Das ist tatsächlich ohne großen Aufwand machbar. Den eigentlichen Programmcode wirst Du auch damit nicht erhalten:

Zitat:

Rescuer produces all project forms and data modules with all assigned properties and events. Produced event procedures don't have a body (it is not a decompiler), but have an address of code in executable file.

Luckie 18. Apr 2003 09:58

Jupp. Und so sieht das Ergebnis aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
// Address $444240
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
// Address $444320
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
// Address $4444E0
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
// Address $4445C0
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
// Address $4446A8
end;
Das Formular wurde allerdings korrekt wieder hergestellt, aber das ist ja auch in der Ressource der Exe drin und dafür gibt es sogar APIs, um da ran zu kommen.

digleu 5. Sep 2004 14:33

Re: Geht´s auch umgekehrt??
 
hm naja sagen wir der Quellcode hat 15000 Zeichen (superwenig) und jedes Zeichen kann jeder Buchstabe (Groß- und Kleinschreibung ist in Delphi egal) und einige Sonderzeichen (sagen wir 20 verschiedene) sein. Dann gibt es ca. 2,330*10^24941 verschiedene Quellcodes, das ist eine 2 mit 24941 Nullen daran. Würde ein Computer pro Sekunde 2.000.000 davon erzeugen, kompilieren und vergleichen können, dann würde er immernoch weit über 20000 Trillionen Jahre brauchen um sie zu vergleichen. Aber illegal wäre es ja eigentlich nicht, denn man vergleicht ja nur 2 Dateien und eine davon hat man selbst "erstellt".

mfg Lars

<edti>ein "weit" hinzugefügt ;)</edit>


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 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