Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programm schreibt in sich selbst (https://www.delphipraxis.net/26850-programm-schreibt-sich-selbst.html)

sCrAPt 30. Jul 2004 10:50


Programm schreibt in sich selbst
 
HiHo

Ich hab jetzt schon öfter mitgekriegt dass (z.B. ICQ Lite & Visual Help Pro) Daten (Registrierdaten oder LogIn-Daten & Co.) in sich selber speichern (in der EXE vom Programm). Wie geht sowas? Wie schafft man in der EXE Platz für sowas und wie kriegt man das ohne Error ("Datei wird z.Z benutzt") hin?

Dannyboy 30. Jul 2004 11:01

Re: Programm schreibt in sich selbst
 
Hallo HiHo,
das dürfte nicht so einfach machbar sein, da EXE-Dateien, wie Du bereits angedeutet hast,
aus gutem Grund schreibgeschützt sind, während man sie ausführt. Ich habe mal gehört, dass
Dienste allerdings Sonderrechte besitzen, mit denen man dies bewerkstelligen könnte. Allerdings
weiss ich nicht, ob dies die Mühe Wert wäre, da Du Konfigurationen einer EXE-Datei auch in INI-
Dateien oder in der Registry speichern könntest.

DANNYBOY

sCrAPt 30. Jul 2004 11:16

Re: Programm schreibt in sich selbst
 
ICQ Lite ist doch kein Dienst!?

Matze 30. Jul 2004 11:44

Re: Programm schreibt in sich selbst
 
Ein Problem besteht auch darin, dass Virenscanner die Anwendungen, die sich in ihrer Größe ändern teilweise als Viren erkennen...

Vjay 30. Jul 2004 11:48

Re: Programm schreibt in sich selbst
 
Ganz ganz einfach, während das Programm läuft benennt es seine eigene exe um z.b

Icq.exe in icq.bak dies geht ohne weiteres, da die Datei ja nicht zum schreiben geöffnet wird. Danach kopiert das prog die bak zu icq.exe, somit existiert eine icq.exe die modifiziert werden kann. An die exe kann das proggie nun daten ranhängen ohne ende, ohne sich selbst zu beenden.

Gut ne? :)

NicoDE 30. Jul 2004 12:18

Re: Programm schreibt in sich selbst
 
Zitat:

Zitat von Vjay
Ganz ganz einfach, während das Programm läuft benennt es seine eigene exe um

Das geht nicht unter allen Windows-Versionen und nicht mit allen Dateisystemen.

moritz 30. Jul 2004 12:41

Re: Programm schreibt in sich selbst
 
Mal ne andere Farge: Was bringt es dir das direkt ans Programm anzuhängen?

DelphiFreund 30. Jul 2004 13:15

Re: Programm schreibt in sich selbst
 
In dem Zusammenhang hab ich mal was von Resourcen-Dateien gehört. Irgendwie, kann das Programm dann den Queltext, ode rso, daraus laden.

Gruß DelphiFreund

NicoDE 30. Jul 2004 13:15

Re: Programm schreibt in sich selbst
 
Zitat:

Zitat von moritz
Mal ne andere Farge: Was bringt es dir das direkt ans Programm anzuhängen?

Wenn die Daten vom Benutzer/System sind, kann das Programm nicht ohne weiteres an dritte weitergegeben werden.

sCrAPt 30. Jul 2004 14:29

Re: Programm schreibt in sich selbst
 
Ich lese z.Z. die Anti-Cracking Tipps druch.
Und dazu ein kleines Zitat:
Zitat:

10. Die Informationen, ob das Programm registriert ist, sollte man in die Haupt EXE-Datei schreiben. Weis nicht, wie das geht, weis nur, daß es geht. Siehe: Visual Help Pro.
Unter welchen Betriebs- & Dateisystemen funktioniert Vjay's Technik denn?

NicoDE 30. Jul 2004 14:51

Re: Programm schreibt in sich selbst
 
Zitat:

Zitat von sCrAPt
Unter welchen Betriebs- & Dateisystemen funktioniert Vjay's Technik denn?

Windows NT mit NFTS.

sCrAPt 30. Jul 2004 14:59

Re: Programm schreibt in sich selbst
 
und nicht bei XP? :cry:

scp 30. Jul 2004 15:05

Re: Programm schreibt in sich selbst
 
Zitat:

Zitat von sCrAPt
und nicht bei XP? :cry:

Windows 2000 und XP sind NT-Systeme, genauer: NT 5.0 und NT 5.1.

sCrAPt 30. Jul 2004 15:30

Re: Programm schreibt in sich selbst
 
OK, dann vielen Dank Vjay, Dannyboy, Matze, NicoDE, scp usw.

SirThornberry 30. Jul 2004 16:14

Re: Programm schreibt in sich selbst
 
eine weitere Möglichkeit. In die Exe ein Unterprogramm als Ressource einbinden. Nach dem start das Programm aus der Ressource entpacken und starten. Und dann kann das Programm was als ressource mitgeliefert wurde die eigentliche Exe beenden und ändern.

sCrAPt 30. Jul 2004 16:36

Re: Programm schreibt in sich selbst
 
aber wenn die die Resource (das wahre programm) wieder in die exe einbinde muss ich sie ja wieder ändern...

moritz 30. Jul 2004 16:38

Re: Programm schreibt in sich selbst
 
Und was stört dich daran? Die anfangsexe wird ja nicht ausgeführt

SirThornberry 30. Jul 2004 16:39

Re: Programm schreibt in sich selbst
 
Zitat:

Zitat von sCrAPt
aber wenn die die Resource (das wahre programm) wieder in die exe einbinde muss ich sie ja wieder ändern...

:wiejetzt:

du kannst ja dann über das Programm aus der Ressource das abgeänderte Hauptprogramm mit entsprechenden Parametern wieder starten so das nicht wieder die ressource entpackt wird etc. Aber mit so einer Exe als Ressource ist es eben möglich in die hauptexe zu schreiben und dort zu ändern.

sCrAPt 30. Jul 2004 20:38

Re: Programm schreibt in sich selbst
 
ah, jetzt hats geklickt. das probiere ich dann mal aus :stupid:


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