Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Wie verändert man ein laufendes Programm???

n-w / 4 Antworten / Flachansicht Nickles

Gibt es eine Möglichkeit, Daten in ein laufendes Programm zu schreiben (Festplatte nicht Arbeitsspeicher)?

bei Antwort benachrichtigen
bitte was ? thomas woelfer
Antwort Andreas42
Andreas42 n-w „Genau gesagt möchte ich den Programmcode zur Laufzeit modifizieren und...“
Optionen

Hi!

Ich denke, das wird vom Betriebssystem in den meisten Fällen unterbunden. Das grenzt ja an das, was Dateiviren veranstallten, allerdings modifizieren die sich warscheinlich bei der Infizierung (bzw. sie modifizieren den Code, den sie dabei in eine andere Datei schreiben).

Ich hab' nur einen Lösungsansatz, der aber ebenfalls nicht mit einer Datei auskommt. man benötigt zwei (eine wäre bei mir immer ein Batch oder ein Skript):

Die Datei, die sich modifizieren soll (ich nenne das jetzt MORPH) wird immer(!) über ein Skript gestartet. Sie startet nun MORPH. MORPH erzeugt nun eine ausführbare Datei MORPH2 und beendet sich. Das Skript pprüft nun, ob MORPH2 existiert und startet dieses dann.
MORPH2 modifiziert nun MORPH und beendet sich. Das Skript prüft ob MORPH2 existiert und löscht diese Datei.

Sollte man MORPH direkt starten, kann dieses prüfen ob das Skript existiert. Falls nein, wird das erzeugt und der Anwender aufgefordert das Skript zu starten.

Ich arbeite aber lieber mit einer unveränderlichen datei und zwei Skripten/Batches. Der Hauptbatch startet die normale Datei, die dann den zweiten batch erzeugt und sich beendet. Nun wird im Hauptbatch der erzeugte Batch ausgeführt.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen