Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi EXE-Datei Strippen (https://www.delphipraxis.net/146511-exe-datei-strippen.html)

DelTurbo 21. Jan 2010 13:35


EXE-Datei Strippen
 
Hi,

ich suche eine möglichkeit die fertige exe zu strippen. Also Debuginfos usw. zu entfernen. Ich habe nun schon über google gesucht und hier im forum, aber leider finde ich nix. Ist es nicht möglich diese infos zu entfernen?

Danke im voraus

Bernhard Geyer 21. Jan 2010 13:36

Re: EXE-Datei Strippen
 
Und wieso kompilierst du nicht gleich ohne Debuginfos usw?

DelTurbo 21. Jan 2010 13:41

Re: EXE-Datei Strippen
 
Ich habs versucht. Das file was hinten rauskommt ist immer das gleiche egal ob ich mit Debuginfos oder Ohne kompiliere. Ich habe Delphi 7.

hoika 21. Jan 2010 13:57

Re: EXE-Datei Strippen
 
Hallo,

dann machst du was verkehrt.

Schau mal auch in den Linker-Optionen nach:
- Mit TD32 Debug-Info weg
- Mit ext. Debug-Infos weg


Heiko

DelTurbo 21. Jan 2010 14:02

Re: EXE-Datei Strippen
 
Zitat:

Zitat von hoika
Hallo,

dann machst du was verkehrt.

Schau mal auch in den Linker-Optionen nach:
- Mit TD32 Debug-Info weg
- Mit ext. Debug-Infos weg


Heiko

In beiden ist kein haken drinn

Bernhard Geyer 21. Jan 2010 14:08

Re: EXE-Datei Strippen
 
Zitat:

Zitat von DelTurbo
Ich habs versucht. Das file was hinten rauskommt ist immer das gleiche egal ob ich mit Debuginfos oder Ohne kompiliere. Ich habe Delphi 7.

Hast du die Exe auch komplett neu erzeugen lassen. Menupunkt "Erzeugen", nicht "Compilieren".

DelTurbo 21. Jan 2010 14:10

Re: EXE-Datei Strippen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich häng mal ein Project dran. Da ist auch die exe drinn. Vielleicht mach ich ja wirklich irgendwas total falsch.

@Bernhard Geyer, ja beides porbiert.

himitsu 21. Jan 2010 14:39

Re: EXE-Datei Strippen
 
Ich weiß nicht, was du hast?
Das ist doch 'ne ganz normale EXE ... die sind einfach so groß.

PS: Viele Debuginfos liegen bei Delphi in der DCU und landen garnicht erst in der EXE.
OK, da gibt es ein paar Resourcen, welche oftmals nicht genutzt werden, aber das liegt daran, daß Delphi (und auch viele andere Sprachen) garnicht entscheiden können, was von den eingebundenen Resourcen genutzt wird und darum alles (die ganze .res) einbindet.
Also sobald in einer Datei (.pas .dpr) eine .res drinsteht ( {$I ...} bzw. {$INCLUDE ...} ) und diese .pas auch noch ins Programm eingebunden ist, so wird diese .RES auch ins Programm gelinkt, egal ob benötigt oder nicht.

DelTurbo 21. Jan 2010 14:47

Re: EXE-Datei Strippen
 
Aber warum ist Button1Click in der exe zu finden???? Das hat doch dadrin garnix zu suchen. Das ist doch eine procedure. Kein string oder sonstwas. Oder seh ich das falsch?

Namenloser 21. Jan 2010 15:19

Re: EXE-Datei Strippen
 
Das ist die RTTI. Ich glaube nicht, dass du die abschalten kannst...

DelTurbo 21. Jan 2010 15:29

Re: EXE-Datei Strippen
 
Zitat:

Zitat von NamenLozer
Das ist die RTTI. Ich glaube nicht, dass du die abschalten kannst...

Das ist ja total doof. Das heisst alle "subroutinen" stehen mit namen in der exe. Sorry, aber versteh ich nicht so richtig. :gruebel: Da kann ich ja gleich den quellcode mitliefern. :wall:

Ich kenn das nur von unix. Da gibt es ein strip und die sachen sind weg.

Die Muhkuh 21. Jan 2010 15:35

Re: EXE-Datei Strippen
 
Der Quellcode selber ist trotzdem nur ein Haufen Assembler und den bekommst Du nicht mehr in DelphiSource zurück. Ob da nun die Klick-Methode etc. drin steht, wen juckt es?

jfheins 21. Jan 2010 15:36

Re: EXE-Datei Strippen
 
stehen diese namen nicht sowiso nochmal in den resourcen?

iirc wird ja zur Laufzeit bim laden des Formulars die dfm in der Resource ausgewertet und die Events zugewiesen ...

himitsu 21. Jan 2010 15:56

Re: EXE-Datei Strippen
 
Die Felder und Methoden von TForm (TComponent) werden per standard als PUBLISHED kompiliert, die Publisched-Dinge stehen in der RTTI
und die DFM (also auch die darin zugewiesene Methoden) stehen ebenfalls im Klartext in der EXE.

Bernhard Geyer 21. Jan 2010 16:34

Re: EXE-Datei Strippen
 
Zitat:

Zitat von DelTurbo
Das ist ja total doof. Das heisst alle "subroutinen" stehen mit namen in der exe.

Nein. Nur alles was in der DFM definiert ist und auch alle Klassennamen die von TComponent abgeleitet sind. Also nix was die eigentliche Schöpfungshöhe eines Programmes betrifft

Zitat:

Zitat von DelTurbo
Sorry, aber versteh ich nicht so richtig. :gruebel: Da kann ich ja gleich den quellcode mitliefern. :wall:

Nee. Dein Quellcode ist schöner Assembler-Code.

DelTurbo 21. Jan 2010 16:48

Re: EXE-Datei Strippen
 
Zitat:

Zitat von Bernhard Geyer
Nee. Dein Quellcode ist schöner Assembler-Code.

Hmm, also ich finde Assembler sehr leserlich. Deswegen frag ich ja. Wenn ich Assembler UND noch zusatz infos habe ist das für mich fast wie quelltext. Ich habe zu ca. 75% beim debuggen das CPU-Fenster auf. Da finde ich mich manchmal besser zurecht, wenn du verstehst was ich meine.

Deswegen finde ich es komig das bei mancher Soft die man eigentlich kaufen sollte nur ein JNZ die ganze sache absichert. Ist für mich unverständlich. Und ich rede hier nicht über irgendwelche shareware für 15 euro.

Neutral General 21. Jan 2010 16:57

Re: EXE-Datei Strippen
 
Dann schick ich dir mal ne exe und sagst mir dann was ich in Button1Click mache :roll:

Wovor hast du überhaupt Angst? Der Assemblercode muss zwangsweise in der exe drinstehen -.- Und ob da jetzt irgendwo "Button1Click" in der Pampa steht bringt einem auch so ziemlich gar nichts...

DelTurbo 21. Jan 2010 17:03

Re: EXE-Datei Strippen
 
Ich hab vor nix angst. Nur vor mir selber :-D

himitsu 21. Jan 2010 17:24

Re: EXE-Datei Strippen
 
PS: Ab Delphi 2009 kann man auch sehr viele UnicodeZeichen als Namen für Klassen und Methoden verwenden ... damit wird das Resultat dann etwas unleserlicher, vorallem wenn man in den Asiatischen Sprachraum reinkommt (diese Namen werden dann intern UTF8 behandelt und da bekommt man schöne unverständliche Zeichenketten zusammen)

DelTurbo 21. Jan 2010 17:33

Re: EXE-Datei Strippen
 
Ich werde es mit UPX packen. Fertig. Dann bringt ein flüchtiger blick nix.

Ich gehe da immer etwas von mir aus. Je nachdem was ich bekomme, schau ich schonmal schnell in den hexdump rein. Und sowas, also dieser klartext, würde einfach meine neugierde wecken.

himitsu 21. Jan 2010 17:42

Re: EXE-Datei Strippen
 
Wenn ich sooo neugierig wäre, dann täte ich das notfalls auch schnell mal entpacken.
(UPX läßt sich ja auch wieder rückgängig machen)

DelTurbo 21. Jan 2010 17:55

Re: EXE-Datei Strippen
 
Zitat:

Zitat von himitsu
Wenn ich sooo neugierig wäre, dann täte ich das notfalls auch schnell mal entpacken.
(UPX läßt sich ja auch wieder rückgängig machen)

Ne, es geht nur um den ersten wirklich flüchtigen blick. Wenn ich da was sehe, werd ich feucht :lol:

Ist klar, wenn man wo ran WILL dann kommt man immer dran. Ich habe noch keinen schutz gesehen der nicht geknackt wurde. Deswegen habe ich das schon vor 19 jahren aufgegeben mir über sowas gedanken zu machen.

D-User 28. Mai 2013 08:45

AW: Re: EXE-Datei Strippen
 
Zitat:

Zitat von DelTurbo (Beitrag 991061)
Zitat:

Zitat von Bernhard Geyer
Nee. Dein Quellcode ist schöner Assembler-Code.

Hmm, also ich finde Assembler sehr leserlich. Deswegen frag ich ja. Wenn ich Assembler UND noch zusatz infos habe ist das für mich fast wie quelltext. ....

da liegt wohl ne Verwechslung vor, die eine Klarstellung erfordert.

Delphi compiliert natürlich NICHT nach Assembler, sondern in
Binärcode. Da muss man schon zwischen unterscheiden.

Und wenn du wirklich mal Binärcode lesen kannst, dann bitte
schnell bei Wetten-Das auftreten, aber vorher hier ankündigen
das will ich nämlich live sehen ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz