Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm ändern (https://www.delphipraxis.net/18407-programm-aendern.html)

trifid 18. Mär 2004 08:13


Programm ändern
 
Hallo,

wie kann ich denn ein Programm zur Laufzeit selber abändern?
Ich möchte in einem bestimmten Bereich der .exe ein paar Bytes ändern können.
Die project1.exe kann ich öffnen,
aber sobald ich FileStream.Write aufrufe bekomme ich eine Zugriffsverletztung.

fylo 18. Mär 2004 08:38

Re: Programm ändern
 
hi

soweit ich weiß kann man keine exe ändern so lange so noch "benutzt" wird.
wenn du so etwas machen willst ist meine idee über ein zweites ("patch-programm") zumachen.

trifid 18. Mär 2004 10:50

Re: Programm ändern
 
@fylo

Zitat:

kann man keine exe ändern so lange so noch "benutzt" wird.
warum ?
Microsoft kann das doch auch während ich einen neuen ServicePack auf mein System aufspiele

Zitat:

wenn du so etwas machen willst ist meine idee über ein zweites ("patch-programm") zumachen.
dazu darf aber das Programm nicht laufen, bzw. ich möchte nicht die Applikation beenden und wieder neu starten

CenBells 18. Mär 2004 10:56

Re: Programm ändern
 
Zitat:

Zitat von trifid
@fylo

Zitat:

kann man keine exe ändern so lange so noch "benutzt" wird.
warum ?
Microsoft kann das doch auch während ich einen neuen ServicePack auf mein System aufspiele

Zitat:

wenn du so etwas machen willst ist meine idee über ein zweites ("patch-programm") zumachen.
dazu darf aber das Programm nicht laufen, bzw. ich möchte nicht die Applikation beenden und wieder neu starten

Hi,

was du mit MS meinst stimmt so nicht. Die verändern meistens nicht den Explorer oder eine andere standartmäßig laufenden exe, sondern fixen nur ein paar Dlls. Da sieht die sache anders aus. Die entladen die entsprechenden dlls eben kurz fixen dann und laden sie neu.
Mal ne andere Frage, woher weißt du denn genau, welche bytes du ändern musst, bzw wozu benötigst du die funktion?

Gruß
Ken

trifid 18. Mär 2004 12:33

Re: Programm ändern
 
Hallo,

Zitat:

Die verändern meistens nicht den Explorer oder eine andere standartmäßig laufenden exe, sondern fixen nur ein paar Dlls. Da sieht die sache anders aus. Die entladen die entsprechenden dlls eben kurz fixen dann und laden sie neu.
wie ist das zu verstehen "entladen die entsprechende dll" vor allem bei System-DLL's wie die
kernel32.dll ?

Zitat:

woher weißt du denn genau, welche bytes du ändern musst,
woher weiss ich wie eine Resource (image) aussieht, die keine ist :wink:

Zitat:

bzw wozu benötigst du die funktion?
um die Resource, die keine ist, zu verändern

Luckie 18. Mär 2004 12:51

Re: Programm ändern
 
Wozu sind bei MS wohö manchmal die Reboots nötig? Wohl um Systemdateien zu ersetzen, die in gebrauch waren.


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