Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Wie verändert man ein laufendes Programm???

n-w / 4 Antworten / Baumansicht Nickles

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

bei Antwort benachrichtigen
thomas woelfer n-w „Wie verändert man ein laufendes Programm???“
Optionen

das habe ich nicht verstanden. ich denke du musst deine frage etwas klarer f_ormulieren.

hint: weder die festplatte noch der arbeitsspeicher ist ein 'programm'.

WM_QUERY

this posting contains no tpyos.
bei Antwort benachrichtigen
Andreas42 n-w „Wie verändert man ein laufendes Programm???“
Optionen

Hi!

Für mich klingt das, als ob du aus einem Programm heraus in einem anderen zur laufzeit Programmcoder oder datencode überschreiben willst.

Falls es das ist: das ist genau dass, was man seit Jahren in modernen betriebssystemen zu verhindern sucht.

Natürlich gibt es Möglichkeiten daten an ein laufendes Programm zu übergeben. Das Programm, welches die Daten erhält, muss natürlich entsprechend programmiert werden (eine entsprechende Softwareschnittstelle zur Datenübergabe muss vorhanden sein). Kann man aber z.B. mit Word und Excel machen, indem man eine Tabelle aus Excel in eine ASCII-datei speichert und die dann in ein laufendes Word einlädt. Das ist auch "eine Möglichkeit, Daten in ein laufendes Programm zu schreiben".

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
n-w Nachtrag zu: „Wie verändert man ein laufendes Programm???“
Optionen

Genau gesagt möchte ich den Programmcode zur Laufzeit modifizieren und anschließend in die Originaldatei schreiben. Die Modifikation des Codes im Arbeitsspeicher ist kein Problem, nur kann ich den dann nicht in die Originaldatei schreiben, nur das Erstellen einer "Kopie" unter anderem Namen ist möglich.
Ich hab es noch nicht mal geschafft, dass sich ein Programm selbst löschen kann - das muss doch irgendwie gehen.

bei Antwort benachrichtigen
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