![]() |
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 |
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. |
Zitat:
Und was bring es dir, wenn du die Exe-Datei nocheinmal assemblierst? :lol: Du meintest wohl disassemblieren. Und das ist wiederum strafbar. |
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: |
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 |
Hallo,
Zitat:
Grüsse, Daniel :hi: |
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!!! |
Moin Nailor,
Um keine Missverständnisse aufkommen zu lassen: Die beiden ersten Punkte sind durchaus ernst gemeint. |
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... |
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. ;-) |
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...
|
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: |
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. |
|
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:
|
Jupp. Und so sieht das Ergebnis aus:
Delphi-Quellcode:
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.
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; |
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