Forum: Win32/Win64 API (native code)
Delphi
by Christian Seehase,
29. Jan 2009
Moin Tiemo,
soweit hab' ich es fertig, allerdings ungetestet.
Bislang habe ich das nur gebraucht, um das Environment des Parent-Prozesses zu manipulieren.
Es könnte also das Problem geben, dass Dein Prozess nicht die Rechte hat, ein fremdes Environment zu ändern.
Falls Du einen Virenscanner hast, wird der wahrscheinlich Alarm schlagen, wenn Du das Programm erzeugst ;-)
uses
...
Forum: Win32/Win64 API (native code)
Delphi
by Christian Seehase,
21. Jan 2009
Moin Tiemo,
Ich sehe da noch ein anderes Problem.
Es könnte auch sein, dass verschiedene Teile des Programmes sich den Wert unterschiedlich beschaffen.
Der eine Teil liest immer den aktuellen Inhalt der Umgebungsvariablen (da könnte man etwas machen) ein andere Teil greift, z.B., auf einen beim Programmstart zwischengespeicherten Wert zu.
Dann kann dann zu unvorhersehbaren...
Forum: Win32/Win64 API (native code)
Delphi
by Christian Seehase,
20. Jan 2009
Moin Tiemo,
das Du einen Virus schreiben willst, haben Detlef und ich auch nicht angenommen, aber die Techniken die erforderlich sind (Manipulation eines fremden Adressraumes) kann von einem Virenscanner durchaus als verdächtig angesehen werden.
Um Umgebungsvariablen eines anderen Prozesses zu manipulieren, müsstest Du den Environmentblock dort überschreiben.
Die einfachste Variante wäre es...
Forum: Win32/Win64 API (native code)
Delphi
by Christian Seehase,
20. Jan 2009
Stimmt, aber ist machbar :mrgreen:
Ausserdem gibt es für solche Vorgehensweisen auch legitime Anwendungen. ;-)
Forum: Win32/Win64 API (native code)
Delphi
by Christian Seehase,
20. Jan 2009
Moin Tiemo,
bei der Konstellation wäre es vielleicht einfacher der laufenden Instanz von Programm B einfach auf anderem Wege, z.B., per WM_COPYDATA den gewünschten neuen Wert zu übergeben. Das Programm kann es dann, wenn's denn unbedingt eine Umgebungsvariable sein muss, auch in sein Environment eintragen. Das dürfte dann auch unter Vista funktionieren.
Die Variante direkt das Environment...